如何处理在批处理文件上运行命令的错误?

问题描述 投票:0回答:1

我有这个批处理文件,如果找到了就应该找到并删除特定的文件,但是当没有找到文件时,它一直返回并显示错误.我已经删除了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 

我如何让文件在删除文件时只显示回声,而在没有找到文件时不显示任何内容?

windows batch-file command-line-arguments
1个回答
0
投票

如果你真的只是不想看到命令的任何信息,你可以将输出重定向为nul。

del /q *.bak >nul 2>&1

>nul 重定向 标准 产量,以及 2>&1 重定向 错误 輸出到相同的地方 标准 输出。 请注意 >nul 可写成 1>nul 因为它是 "第一个 "输出流(标准)。

进一步注意到 nul 代表了2个输出流的特殊情况,这样你就可以这样做了。

del /q *.bak >nul 2>nul

https:/ss64.comntsyntax-redirection.html。

© www.soinside.com 2019 - 2024. All rights reserved.