我感兴趣的是将一个txt文件从word_A解析为word_B,并将输出发送到一个新文件(new_file_1.txt)...每次在该原始txt文件中找到word_A和word_B时,输出就会被推送到new_file_2.txt + N ......然后继续
我的目标是在两个xml标签之间提取txt并将输出存储到单个文件中......
谢谢......我应该提一下你的回复/帮助越详细,因为我是新手。
这也可以在dos中完成吗?我没有编译器来运行代码......
答案 0 :(得分:0)
艰难,schmuff。只需要回收旧批次。
真的取决于您的数据格式 - 但您还没有提供样本。
q23655846.txt
<root>
<cities>
<cityName>paris</cityName>
<cityName>london</cityName>
<cityName>...</cityName>
...
</cities>
<countries>
<countryName>india</countryName>
<countryName>japon</countryName>
<countryName>...</countryName>
...
</countries>
<continents>
<continentName>asia</continentName>
<continentName>america</continentName>
<continentName>South america</continentName>
<continentName>...</continentName>
...
</continents>
</root>
修改代码以满足&#39;各自的文件`要求:
@ECHO OFF
SETLOCAL
SET "outloc=U:\destdir\file_"
set "tag=continentName"
set "f_xml=q23655846.txt"
set "tag2=/%tag%"
setlocal enabledelayedexpansion enableextensions
set fcnt=0
for /f "tokens=2-4delims=<>" %%a in (%f_xml%) do (
IF "%%a"=="%tag%" IF "%%c"=="%tag2%" SET /a fcnt+=1&>>"%outloc%!fcnt!" ECHO(%%b
)
GOTO :eof
我outloc
的设置会留给您 - 我发布的位置对我的系统来说很方便。同上标签和xml文件名。
如果要输出块或绝对源文件名包含空格等分隔符,则需要进行少量更改。