批处理将当前目录下包含指定字符串的文件单独拷贝出来
@echo off
setlocal enabledelayedexpansion
rd /s/q FANLOG
mkdir FANLOG
set count=0
for %%j in (*.log) do (
@findstr /m "FanSpeed" %%j
if "!errorlevel!"=="0" (
copy /Y %%j FANLOG >null
set /a count=count+1
echo !count!) )
这里需要注意的地方在于:
- 一开始增添变量延迟,方便进行count的计数
- for循环中对命令执行结果判断中应该使用"!errorlevel!",不应使用"%errorlevel%"