2014-01-17 84 views
4

我有一個腳本,它搜索特定文件夾中格式爲「abc2014.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% 

我不希望這種 「找不到文件」 的輸出。我該如何壓制這個「File not found」輸出?如果那裏沒有文件,那麼我想空白輸出。

如何實現這一目標?

+0

那麼[你嘗試過什麼(http://whathaveyoutried.com)? – starsplusplus

+0

你的劇本做什麼excacty? –

回答

2
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 
+1

這將刪除所有輸出,甚至是DIR文本。 :) – foxidrive

+0

哦......是的...... – npocmaka

7

只是將'dir'命令的標準錯誤(2)重定向到nul。

@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 "" 
+0

@ user3164140 - 這是否解決您的問題? –

+0

thnk回覆,我的問題解決了 – user3164140

+0

我很高興。請將答案標記爲解決方案。 –