I was trying to use this excellent answer.
Is there a way to have ONE command line that executes the following (delete all files of size zero) without printing any output?
for /r %F in (*) do if %~zF==0 del "%F"
(It shows all the expanded commands, also when the size is not zero)
I have tried to use How to redirect stderr to null in cmd.exe, (trying >, 1> and 2>) with no avail...
@
suppresses the output for one command. So the following does what you want:
for /r %F in (*) do @if %~zF==0 @del "%F"
To show (only) the files that were deleted:
for /r %F in (*) do @if %~zF==0 del "%F" & echo removed %F
@echo off && for /r %F in (*) do if %~zF==0 del "%F" > NUL
The > NUL
is because I can't recall if certain situations cause del
to try to output
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With