Windows 我可以为此关闭echo吗;至于;从cmd输入的循环?

Windows 我可以为此关闭echo吗;至于;从cmd输入的循环?,windows,cmd,Windows,Cmd,我试着用 有没有办法让一个命令行在不打印任何输出的情况下执行以下操作(删除所有大小为零的文件) for /r %F in (*) do if %~zF==0 del "%F" (当大小不为零时,它显示所有展开的命令) 我已尝试使用(尝试>、1>和2>),但没有结果 @echo off && for /r %F in (*) do if %~zF==0 del "%F" > NUL 之所以出现>NUL,是因为我记不起某些情况是否会导致del尝试输出@抑制一个命令的输出。因

我试着用

有没有办法让一个命令行在不打印任何输出的情况下执行以下操作(删除所有大小为零的文件)

for /r %F in (*) do if %~zF==0 del "%F"
(当大小不为零时,它显示所有展开的命令)

我已尝试使用(尝试>、1>和2>),但没有结果

@echo off && for /r %F in (*) do if %~zF==0 del "%F" > NUL

之所以出现
>NUL
,是因为我记不起某些情况是否会导致
del
尝试输出
@
抑制一个命令的输出。因此,以下内容符合您的要求:

for /r %F in (*) do @if %~zF==0 @del "%F"
要显示(仅)已删除的文件,请执行以下操作:

for /r %F in (*) do @if %~zF==0 del "%F" & echo removed %F

您正在询问如何使用命令行执行“@echo off”?为什么?@doctorlove很可能是的。因为我不想创建批处理文件来执行此操作。请参阅我与doctorlove的对话above@Antonio好吧,那么我的最新答案应该是after@Antonio是的,当然,如果你想把它重新打开,只需将结尾改为
>NUL&&@echo on
@Joey,你添加的
@
似乎没有必要,一般来说,del没有输出(这不是一个优势,但它甚至不抑制错误消息->尝试删除锁定的文件)。要打印将有效执行的删除命令:
for/r%F in(*)do@if%~zF==0 echo“del%F”&&del%F