4

我试图使用这个出色的答案

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

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

(它显示所有扩展命令,当大小不为零时也是如此)

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

4

2 回答 2

9

@抑制一个命令的输出。因此,以下内容可以满足您的要求:

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

要(仅)显示已删除的文件:

for /r %F in (*) do @if %~zF==0 del "%F" & echo removed %F
于 2013-08-02T10:39:51.597 回答
2
@echo off && for /r %F in (*) do if %~zF==0 del "%F" > NUL

> NUL是因为我不记得某些情况是否会导致del尝试输出

于 2013-08-02T10:30:09.113 回答