2014-04-01 105 views
1

我正在使用forfiles來顯示超過300天的文本文件。 如果我沒有找到任何文件forfiles給出了一個錯誤,所以我用下面的代碼來取消錯誤,並返回輸出:下面禁止文件找不到文件不能正常工作

A:"NONE" 
success 

代碼:

SETLOCAL ENABLEDELAYEDEXPANSION 
SET res=NONE 


for /f "tokens=*" %%a in ('forfiles /d -300 /p E:\Webex /m *.txt /c "cmd /c echo @file ^>^>log.txt" ^| findstr error') do set res=%%a 
ECHO A:"!res!" >>log.txt 
if "!res!" == "ERROR: No files found with the specified search criteria." (
    ECHO B:"!res!" >>log.txt 
    SET err_lv=0 
) ELSE (
    SET err_lv=1 
) 

IF "!res!" == "NONE" SET err_lv=0 

if !err_lv! equ 1 (
    ECHO failure >>log.txt 
) else (
    ECHO success >>log.txt 
) 


pause 
+0

你忘了提問了。 –

+0

您的問題歷史記錄顯示您很少回覆,並且只接受了一個答案。請閱讀幫助部分。 http://stackoverflow.com/help – foxidrive

回答

3

要消除錯誤消息,將2>nul添加到行末尾
,它將STDERR流2(標準錯誤)重定向到nul。

forfiles /d -300 /p E:\Webex /m *.txt /c "cmd /c echo @file" 2>nul