【发布时间】:2020-11-18 00:28:49
【问题描述】:
我有一个非常简单的 .bat 脚本来清理文件夹中的 0 字节文件:
@echo off
FORFILES /P "E:\Path" /C "CMD /C IF @FSIZE==0 del @FILE /Q"
问题是,即使我没有使用 /S 开关,它也会删除非 0 字节的文件并删除子文件夹中的所有文件。
【问题讨论】:
-
您没有使用
/S选项,因此您的代码无法删除子文件夹中的文件。 -
另外,
@FILE变量不包括文件路径,因此它会尝试删除当前工作目录中的文件,而不一定是E:\Path中的文件。所以需要使用@path变量来删除文件。 -
@Squashman 我不知道该告诉你什么,这绝对是删除子文件夹中的文件,即使我使用
@PATH而不是@FILE。我已经测试了好几次,包括刚才,只是为了验证。
标签: batch-file del forfiles