标题: [文本处理] 批处理命令Findstr怎样提取字符? [打印本页]
作者: 秋风·飞扬 时间: 2012-11-7 13:29 标题: 批处理命令Findstr怎样提取字符?
1.txt内容
"360HealthElf"="\"D:\\360safe\\Utils\\360HealthElf.exe\" autorun"
"360DeskTop"="\"C:\\Program Files\\360\\360Desktop\\Bin\\360Desktop.exe\" /autorun"
@=""
想将1.txt中的
360HealthElf.exe
360Desktop.exe
两个扩展名为exe的程序提取到2.txt中,请问该如何实现呢?
作者: wc726842270 时间: 2012-11-7 15:37
没有什么好的思路。- @echo off
- for /f "delims=" %%i in (1.txt) do (
- set a=%%i
- setlocal enabledelayedexpansion
- set b=!a:\= !
- for %%j in (!b!) do (
- set str=%%j
- if !str:~-4! equ .exe echo %%j
- )
- endlocal
- )
- pause
复制代码
作者: 秋风·飞扬 时间: 2012-11-7 15:44
回复 2# wc726842270
恩,今天就想用FINDSTR提取了,但是我的能力没法实现,只有用回FOR了,谢了
作者: CrLf 时间: 2012-11-7 16:58
findstr 只用于查找匹配行,不能局部提取- @echo off
- for /f tokens^=4delims^=^" %%a in (1.txt) do (
- for %%b in ("%%a\.") do echo %%~nxb
- )
- pause
复制代码
作者: BAT-VBS 时间: 2012-11-7 17:26
- sed -r "/\.exe/!d; s/.*\\([^\\]+.exe).*/\1/" a.txt >b.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |