我如何将下面两个脚本结合起来实现运行磁盘容量判定大小,如果E盘容量小于10%自动调用bat脚本删除磁盘文件,进行循环判定!1.vbs是判定磁盘大小的,2.bat是删除E盘下制定目录下的文件的。怎样才能结合起来,实现循环判定呢?
脚本如下:1.vbs- Set objWMIService = GetObject("winmgmts:")
- Set objLogicalDisk = objWMIService.get("Win32_LogicalDisk.DeviceID='e:'")
- dim c
- c=now
- s = objLogicalDisk.Size/(1024*1024*1024)
- s = round(s,2)
- ' WScript.Echo "全部磁盘:"&s& " G "
- m = objLogicalDisk.FreeSpace/(1024*1024*1024)
- m = round(m,2)
- ' WScript.Echo "剩余空间:"&m& " G "
- a=m/s
- a = round(a,2)
- w = (FormatPercent(a,2))
- ' WScript.Echo " 磁盘剩余空间= "&w
- If (a > 0.05) then
- If (a < 0.1) then
- call mail()
- End if
- end if
-
- Sub mail()
- Set objEmail = CreateObject("CDO.Message")
- objEmail.From = "ys@qq.com" '发件人
- objEmail.To = "ys@qq.com" '收件人
- objEmail.Subject = "E盘可用大小判定删除" '主题
- objEmail.Textbody = " " '内容
- 'objEmail.AddAttachment "" '附件
- objEmail.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- objEmail.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
- "smtp.qq.com"
- objEmail.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "dayin@qq.com" '用户名
- objEmail.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "**" '密码
- objEmail.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 '明文验证
- objEmail.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
- objEmail.Configuration.Fields.Update
- objEmail.Send
- end Sub
复制代码 2.bat- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /ad /b e:\rec\*') do (
- echo %%a| findstr "^[0-9]*-[0-9]*-[0-9]*$">nul &&set #%%a=%%a
- )
- for /f "tokens=1,2 delims==" %%a in ('set #') do (
- rd /s /q "e:\rec\%%b\"& goto :eof
- )
复制代码
|