标题: [文本处理] 批处理查找指定字符串并输出指定内容到一个文本文件 [打印本页]
作者: jshuanya 时间: 2024-1-10 20:26 标题: 批处理查找指定字符串并输出指定内容到一个文本文件
本帖最后由 jshuanya 于 2024-1-10 20:44 编辑
1.txt如下:
<ABSENCENONPOPUP_STR>1</ABSENCENONPOPUP_STR>
<NICKNAMESTR_STR>张三</NICKNAMESTR_STR>
怎么用批处理比如说是1.bat查找<NICKNAMESTR_STR>,输出2.txt,内容为张三呢?
作者: 77七 时间: 2024-1-10 21:51
- @echo off
- cd /d "%~dp0"
- (for /f "tokens=2 delims=<>" %%a in ('find "<NICKNAMESTR_STR>" ^<"1.txt"') do (
- echo %%a
- ))>"2.txt"
- pause
复制代码
作者: jshuanya 时间: 2024-1-11 09:45
77七 发表于 2024-1-10 21:51
好用的,怎样才可以把查找到的字符串作为文件名呢?
作者: 77七 时间: 2024-1-11 13:00
回复 3# jshuanya
作为哪个文件的文件名?
作者: jshuanya 时间: 2024-1-11 20:50
回复 jshuanya
作为哪个文件的文件名?
77七 发表于 2024-1-11 13:00
作为输出文件的文件名,就是2.txt改成张三.txt行吗?
作者: 77七 时间: 2024-1-11 21:33
回复 5# jshuanya
- @echo off
- cd /d "%~dp0"
- for /f "tokens=2 delims=<>" %%a in ('find "<NICKNAMESTR_STR>" ^<"1.txt"') do (
- >>"%%a.txt" echo %%a
- )
- pause
复制代码
作者: jshuanya 时间: 2024-1-11 21:52
回复 jshuanya
77七 发表于 2024-1-11 21:33
谢谢你。 好用的,如果在后面选择自动打开这个文件,怎么写呢
然后有时候1.txt如下的
<ABSENCENONPOPUP_STR>1</ABSENCENONPOPUP_STR>
<NICKNAMESTR_STR/>
好像无法输出txt文件了,能否判断出这种搜不到有意义的昵称的情况下,输出为 电脑名字.txt?
作者: 77七 时间: 2024-1-11 22:00
回复 7# jshuanya
- @echo off
- cd /d "%~dp0"
- for /f "tokens=2 delims=<>" %%a in ('find "<NICKNAMESTR_STR>" ^<"1.txt"') do (
- set str=%%a
- )
- if defined str (
- >"%str%.txt" echo %str%
- "%str%.txt"
- ) else (
- >"电脑名字.txt" cd.
- "电脑名字.txt"
- )
- pause
复制代码
作者: jshuanya 时间: 2024-1-12 06:25
回复 jshuanya
77七 发表于 2024-1-11 22:00
电脑名字能否获取实际的电脑名字?好像是computername变量
作者: Batcher 时间: 2024-1-12 08:20
回复 9# jshuanya 复制代码
作者: jshuanya 时间: 2024-1-12 15:03
回复 jshuanya
Batcher 发表于 2024-1-12 08:20
好像不行,最终实际生成的是NICKNAMESTR_STR.txt
作者: Batcher 时间: 2024-1-12 19:41
回复 11# jshuanya
请把你的完整代码发出来我试试
作者: jshuanya 时间: 2024-1-14 09:59
回复 jshuanya
请把你的完整代码发出来我试试
Batcher 发表于 2024-1-12 19:41
谢谢你,后来我搜索其他帖子弄好了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |