bat文件,findtr string1和string2

时间:2013-11-07 16:04:43

标签: batch-file findstr

我正在尝试执行以下操作:搜索Temp中以“Micro”开头的所有txt文件,并查找其中任何一个是否存在以下两个字符串。我需要在1个文件中找到两个字符串。

目前我有:enter code here

@echo off
cd C:\Users\ADMINI~1\AppData\Local\Temp
findstr /N /C:"action: Uninstall" /C:"Exit code: 0x0, restarting: No" Micro*.log >results.txt
if %errorlevel%==1 (
robocopy C:\Users\ADMINI~1\AppData\Local\Temp C:\Users\Administrator\Desktop results.txt
) else (
echo matches found
)

但这是使用OR。我发现我需要使用。* for AND,但以下简单不起作用:

findstr /N /C:"action: Uninstall".*/C:"Exit code: 0x0, restarting: No" Micro*.log

不确定我做错了什么。 :/

干杯, 杰瑞

2 个答案:

答案 0 :(得分:2)

for /F "delims=" %%a in ('findstr /M /C:"action: Uninstall" Micro*.log') do (
   findstr /N /C:"Exit code: 0x0, restarting: No" "%%a"
)

答案 1 :(得分:1)

set "string1=action: Uninstall"
set "string2=Exit code: 0x0, restarting: No"
set "files=C:\Users\ADMINI~1\AppData\Local\Temp\Micro*.log"

findstr /m /c:"%string1%" "%files%" | findstr /f:/ /m /c:"%string2%"

获取包含第一个字符串的文件列表,并使用此列表搜索第二个字符串。