我可以关闭来自cmd的这个“for”循环输入的回声吗?

时间:2013-08-02 10:26:14

标签: windows cmd

我试图使用this excellent answer

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

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

(它显示所有扩展的命令,当大小不为零时)

我尝试使用How to redirect stderr to null in cmd.exe,(尝试>,1>和2>)但无济于事...

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尝试输出