想要禁止显示“找不到文件”输出



我有一个脚本,可以在特定文件夹中搜索格式为"abc2014.txt"的文件名。然后,我正在计算名称中包含*2014的此类文件的数量。但是,如果未找到该文件,则在命令提示符下,它会给出"找不到文件"的输出。

我的脚本是:

@echo off
SetLocal enabledelayedexpansion
for /F "tokens=1" %%a IN ('Dir "C:UsersBOX*2014*"  /-C/S/A:-D') Do Set q=!n2! & Set n2=%%a
echo %q%

我不想要这个"找不到文件"输出。如何抑制此"找不到文件"输出?如果那里没有文件,那么我想要空白输出。

如何实现这一点?

只需将"dir"命令的标准错误 (2) 重定向到 nul。

@echo off 
SetLocal enabledelayedexpansion 
for /F "tokens=1" %%a IN ('Dir "C:UsersBOX*2014*" /-C/S/A:-D 2^>nul') Do Set q=!n2! & Set n2=%%a echo %q%

但是,如果要计算名称中包含某些字符的文件:

@echo off 
echo Files number:
Dir "C:UsersBOX*2014*" /-C/S/A:-D 2^>nul | find /C /V ""
setlocal enableDelayedExpansion
for /F "tokens=1" %%a IN ('Dir "C:UsersBOX*2014*" /-C/S/A:-D  2^>nul') Do (
 Set q=!n2! 
 Set n2=%%a echo %q%
)
endlocal

最新更新