我想要做
@for /f "usebackq delims=;" %A in (`dir /s /b *.mp4`) do @If %~zA LSS 2048 del %A
但文件名中有空格,并且
del %A
似乎不包含文件名中空格后面的部分。
答案1
如果文件名中有空格,则必须在 del 命令中使用引号(“”)括住它们,为什么要使用分号(;)作为分隔符?
对于/f“delims=”%A在('dir /s /b * .mp4')中执行@If%~zA LSS 2048 del“%A”
答案2
这种方法对我来说看起来很复杂。虽然它似乎有效,但我想知道这是否是一种稍微简单一点的方法:
for /R %A in (*.mp4) do @If %~zA LSS 2048 echo del "%A"
(我有时喜欢先用“echo”开始测试,以确保产生我期望的结果,然后再重复执行删除“echo”命令的命令。对于删除命令之类的操作尤其如此。)