我目前有一个导出的文本文件(output.txt
)来自我需要解析的Clear-Case命令。它看起来像这样:
Comparing the following:
R1.PROD.V1@\VOB_pvob
R2.PROD.V1@\VOB_pvob
Differences:
>> M:\ACME_PROD\src\ACME@@
>> M:\ACME_PROD\src\ACME\file 2.txt@@
>> M:\ACME_PROD\src\ACME\file 1.txt@@
>> M:\ACME_PROD\src\ACME\file 3.txt@@
我想要做的是使用findstr命令过滤“>>
”和“@@
”字符串之间包含的字符串,以获得看起来像这样的输出文件(带有如果可能的话引用:
"M:\ACME_PROD\src\ACME"
"M:\ACME_PROD\src\ACME\file 2.txt"
"M:\ACME_PROD\src\ACME\file 1.txt"
"M:\ACME_PROD\src\ACME\file 3.txt"
我是编写批处理文件的新手,所以我不知道从哪里开始。我已经设法找到可以循环遍历文本文件的行的代码以及findstr命令的单独代码,但是我试图将它们放在一起而陷入困境!
致以最诚挚的问候,
安德鲁
答案 0 :(得分:2)
你去吧
setlocal enabledelayedexpansion
for /f "skip=1 tokens=* delims=> " %%a in ('"findstr /r [\w^>*] output.txt"') do (
set line=%%a
set line=!line:@=!
echo "!line!" >>new.txt
)
过滤后的字符串将输出到new.txt
。