有一个Analysis.txt文件,我需要包含"<的所有行。路径> TEXT< /路径>"和<频道> 1< /渠道&gt ;.我这样做了:
FOR /F %%i in (Analysis\Analysis.gla) do (
echo %%i >> Analysis.txt
)
::////Findet Alle Dateinamen in Analysis
for /f %%a IN ('type "Analysis.txt" ^| findstr /i "<Path>" 2^>nul') DO echo
%%a >> Path.txt
::////Findet den dazugehörigen Channel
for /f %%a IN ('type "Analysis.txt" ^| findstr /i "<Channel>" 2^>nul') DO
echo %%a >> Channel.txt
现在一切都已整理好了。但我只需要&lt;之间的元素。路径&gt;和&lt; /路径&gt;。
所以我的问题是我可以删除&lt;路径&gt;和&lt; /路径&gt;在将它们保存到另一个.txt之前,或者我可以只读取它们之间的元素并将其保存到变量中。
endresult应该获取Path.txt和Channel.txt的第一行并合并它们。
问候,
亚历
答案 0 :(得分:0)
假设由于缺少其他信息(例如示例行),所需文本全部位于一条物理行上且该行没有前面的空白字符,
for /f "tokens=2 delims=><" %%a IN ('type "Analysis.txt" ^| findstr /i "<Path>" 2^>nul') DO echo %%a >> Path.txt
应该有效。如果行上有空格,请将2
更改为3
。
请参阅提示中的for /?
进行推理 - 或者在SO上看到数以千计的相似示例。
(另外,findstr /i "<Path>" "Analysis.txt"
也可用于避免type
和管道。)