这条线有效:
findstr /I /C:"Archiving file" "..\LogFiles\%NewLogFileName%"
将以下内容输出到屏幕:
2023-08-21 13:25:11.9024|Info|Archiving file
我在文件中寻找的下一行
ERROR
。我知道 ERROR
不在文件中,所以我的期望是错误级别应该是 1
,但它一直是 0
。
findstr /I /C:"ERROR" "..\LogFiles\%NewLogFileName%"
IF ERRORLEVEL 1 (
ECHO Error level AFTER Search %ERRORLEVEL%
)
我做错了什么?
自从该线程打开以来,我已将代码更改为:
findstr /I /C:"ERROR" "..\LogFiles\%NewLogFileName%"
call echo %%errorlevel%% & REM WORKS "1"
REM multiple iteration of these lines fail
REM Some things I have tried
echo %errorlevel% & REM FAILS "0"
SET "somevar=%%errorlevel%%"
echo %somevar% & REM FAILS "0"
文本文件是基本文本。一个的内容中有存档文件,另一个的文本中没有错误。
我还能提供什么?
findstr /ic:"error" "..\LogFiles\%NewLogFileName%" >nul && echo/0 || echo/1
如果你的路径/文件存在或不存在,如果字符串找到或没有,忘记
errorlevel
,使用运算符&&
返回0和||
返回非0。
Findstr /flag(s) <file.eXt
&& (do BC Return 0) || (do instead BC Return non 0)
FINDSTR will set %ERRORLEVEL% as follows:
0 (False) a match is found in at least one line of at least one file.
1 (True) if a match is not found in any line of any file, (or if the file is not found at all).
2 Wrong syntax
An invalid switch will only print an error message in error stream;
@echo off
command 1
command 2
command ...
command n
findstr /ic:"strings xy" <"..\Log\%New%" >nul && (
command 1
command 2
command ...
command n
echo/0
) || (
command 1
command 2
command ...
command n
echo/1
)
command 1
command 2
command ...
command n
其他资源:
FindSTR /?
|
、<
、>
、2>
等