Windows 要抑制未找到文件的输出吗

Windows 要抑制未找到文件的输出吗,windows,batch-file,Windows,Batch File,我有一个脚本,搜索特定文件夹中格式为“abc214.txt”的文件名。然后,我在统计这些文件中以*2014为名的数量。但若并没有找到那个文件,那个么在命令提示符下,它会以“并没有找到文件”的形式给出输出 我的剧本是: @echo off SetLocal enabledelayedexpansion for /F "tokens=1" %%a IN ('Dir "C:\Users\BOX\*2014*" /-C/S/A:-D') Do Set q=!n2! & Set n2=%%a e

我有一个脚本,搜索特定文件夹中格式为“abc214.txt”的文件名。然后,我在统计这些文件中以*2014为名的数量。但若并没有找到那个文件,那个么在命令提示符下,它会以“并没有找到文件”的形式给出输出

我的剧本是:

@echo off
SetLocal enabledelayedexpansion
for /F "tokens=1" %%a IN ('Dir "C:\Users\BOX\*2014*"  /-C/S/A:-D') Do Set q=!n2! & Set n2=%%a
echo %q%
我不想要这个“找不到文件”输出。如何抑制此“未找到文件”输出?如果那里没有文件,那么我希望空白输出


如何做到这一点

只需将'dir'命令的标准错误(2)重定向到nul即可

setlocal enableDelayedExpansion
for /F "tokens=1" %%a IN ('Dir "C:\Users\BOX\*2014*" /-C/S/A:-D  2^>nul') Do (
 Set q=!n2! 
 Set n2=%%a echo %q%
)
endlocal
@echo off 
SetLocal enabledelayedexpansion 
for /F "tokens=1" %%a IN ('Dir "C:\Users\BOX\*2014*" /-C/S/A:-D 2^>nul') Do Set q=!n2! & Set n2=%%a echo %q%
但如果要计算名称中包含某些字符的文件数:

@echo off 
echo Files number:
Dir "C:\Users\BOX\*2014*" /-C/S/A:-D 2^>nul | find /C /V ""

那么?您的脚本执行什么操作?这将删除所有输出,甚至DIR文本。:)