2014-09-01 116 views
-1

我试图写一个小批处理脚本,将获得免费的空间,然后写入报告文件(.txt),该盘是否需要被清洗下来,如果它超过80%满。 所以我用这个作为一个小项目,我从来没有使用批次脚本。IF语句批处理脚本

我遇到的问题是,无论参数是什么,我都会收到消息来清理磁盘。 这里是我的代码:

wmic /node:"%COMPUTERNAME%" LogicalDisk Where DriveType="3" Get DeviceID,FreeSpace|find /I "c:" > test.txt 

FOR /F "eol=; tokens=2,3* delims=, " %%i in (test.txt) do @echo %%i 

if [%%i] GEQ [10] (echo "Clean up is needed" > cleanupneeded.txt) 

,如果有人可以让我知道,如果这甚至有可能我会非常感激。

谢谢

回答

1

GEQ意味着“大于或等于你正在寻找的是LEQ - 。‘小于或等于’(或可能LSS - ‘少’)

和,当然如果需要是在同一行的,或用括号括起来,我以为你只是回声测试取而代之。

1

试试这个。我没有测试你的代码 - 只是语法不太正确。

FOR /F "eol=; tokens=2,3* delims=, " %%i in (test.txt) do if %%i GEQ 10 echo "Clean up is needed" > cleanupneeded.txt