我试图使用this excellent answer。
有没有办法让一个命令行执行以下操作(删除所有大小为零的文件)而不打印任何输出?
for /r %F in (*) do if %~zF==0 del "%F"
(它显示所有扩展的命令,当大小不为零时)
我尝试使用How to redirect stderr to null in cmd.exe,(尝试>,1>和2>)但无济于事...
答案 0 :(得分:8)
@
会抑制一个命令的输出。所以以下是你想要的:
for /r %F in (*) do @if %~zF==0 @del "%F"
显示(仅)已删除的文件:
for /r %F in (*) do @if %~zF==0 del "%F" & echo removed %F
答案 1 :(得分:2)
@echo off && for /r %F in (*) do if %~zF==0 del "%F" > NUL
> NUL
是因为我无法回想某些情况是否导致del
尝试输出