bat

@echo off
setlocal enabledelayedexpansion
::(Type test.txt | find "Ranqq" )>1.txt
::set /p find=<1.txt
Type bb.txt | find "FAILED (failure11" > 1.txt
If ERRORLEVEL 1 goto ok
for /f "tokens=2 delims==" %%i in ("FAILED (failure=9)") do (
echo %%i
set failTests=%%i
set failTsets=%failTests:0,-1%
echo %failTests%)


:ok
set c=0 & echo !c! & goto cc
:end
:bb
echo "aa"

:cc

for %%a in ("123" "abc 12" "啊哈" "百度 一下") do findstr /c:"%%~a" file.txt>>new.txt

利用for命令获取给定的值,然后一个一个传值给findstr进行处理。

版权归作者所有,任何形式转载请联系作者。
作者:牧默(来自豆瓣)
来源:https://www.douban.com/note/602713331/

D:

hello.txt

ltest_qa.txt

test.txt

test1_QA.txt

test2.txt

要找出所有包含test,不包含QA的文件。

for %i in (D:*test*.txt) do (echo %i|find /v /i "_qa") && (下一个处理筛选出的文本的命令)

解释:

1、for %i in (D:*test*.txt) :取出所有包含test的文件赋值给%i;

2、echo %i|find /v /i "_qa":/v排除,/i忽略大小写,这句的意思是打印排除含"_qa"字符串的文件名;

3、同时用&&在for循环里处理筛选后的文件。

求教还有更好的方式吗?

例如一个文件a.txt里面内容的格式是
10.1.2.1 hostname.xx.com.cn 

10.1.3.5 hostname2.xx.com.cn 

10.2.4.5 hostname3 

@echo off

setlocal enabledelayedexpansion
for /f "tokens=1,2" %%i in (a.txt) do (
set ip=%%i
set name=%%j
echo ip=!ip!      name=!name!)
pause
原文地址:https://www.cnblogs.com/hblthink/p/8306919.html