我想在一个文件夹中删除大小小于400 kb的所有exe文件,或者使用批处理文件VBScript。
我尝试了这个,但它不起作用:
@echo off setlocal
for /f "usebackq delims=;" %%A in (`dir /b *.exe`) do If %%~zA LSS 3145728 del "%%A"
答案 0 :(得分:3)
@echo off
setlocal
for /f "usebackq delims=;" %%A in (`dir /b *.exe`) do If %%~zA LSS 3145728 ECHO del "%%A"
for /f "delims=" %%A in ('dir /b *.exe') do If %%~zA LSS 409600 ECHO del "%%A"
GOTO :EOF
除了setlocal
应该在一个单独的行(这是无关紧要的)之外,原则上你的代码似乎没有任何问题。
我在ECHO
之前添加了del
命令 - 正如不删除文件的安全措施一样,但只是显示其名称,这样就不会删除文件,直到你准备好。
我添加的新行只是完全相同,但更简单。你说“400K”,但3145728
不是你提到的400K
。
您必须使用当前目录=要从中删除的目录运行此文件。如果您从“快捷方式”运行它,则需要添加新行
cd \where\to\delete\dir
在for
命令之前。