2014-04-01 63 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