IF语句批处理脚本

时间:2014-09-01 12:41:52

标签: windows batch-file if-statement admin diskspace

我正在尝试编写一个小批量脚本,它将获得可用空间,然后写入报告(.txt),如果超过80%已满,是否需要清理该磁盘。  我从未使用批处理脚本,因此我将其用作一个小项目。

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

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)

如果有人能告诉我这是否可能,我会非常感激。

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

GEQ表示“更大或相等。您要找的是LEQ - ”更少或相等“。(或可能LSS - ”更少“)

当然,if需要与for在同一行,或括在括号中,我假设你只是将它替换为echo用于测试。