我有这个批处理文件,应该找到并删除特定的文件,但是在找不到文件时,它会不断返回并显示错误。 我已从DELETE命令中删除了/ S开关,以使找到的文件保持静音。 代码如下:
For /F "delims=" %%A in (
'Dir /B/S "*,*" ^| findstr ",[0-9][0-9]*$" '
) Do Del "%%A"
DEL /Q *.bak
ECHO bak files deleted
DEL /Q *.prjpcb.zip
ECHO Project History Zips deleted
DEL /Q *.pcbdoc.zip
ECHO PCB History Zips deleted
DEL /Q *.SchDoc.zip
ECHO Schematic History Zips deleted
DEL /Q *.PcbLib.zip
ECHO PCB Library History Zips deleted
DEL /Q *.SchLib.zip
ECHO Schematic Library History Zips deleted
DEL /Q *.OutJob.zip
ECHO Output Jobs History Zips deleted
ECHO on
TIMEOUT 5
在删除文件时如何使文件仅显示回显,如果什么也没找到,什么也不会显示?
答案 0 :(得分:0)
如果您真的只是不想从命令中看到任何信息,则可以将输出重定向到nul:
del /q *.bak >nul 2>&1
>nul
重定向 standard 输出,2>&1
将 error 输出重定向到与 standard 输出相同的位置。请注意,>nul
可以写为1>nul
,因为它是“第一”输出流(标准)。
还要注意,nul
代表2个输出流的特殊情况,因此您可以执行以下操作:
del /q *.bak >nul 2>nul