我正在尝试编写一个小批量脚本,它将获得可用空间,然后写入报告(.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)
如果有人能告诉我这是否可能,我会非常感激。
由于
答案 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用于测试。