2013-01-22 33 views
2

我目前有一個導出的文本文件(output.txt)來自我需要解析的Clear-Case命令。它看起來像這樣:如何創建讀取文件並將子字符串寫入另一個文件的批處理文件?

Comparing the following: 
    [email protected]\VOB_pvob 
    [email protected]\VOB_pvob 
Differences: 
>> M:\ACME_PROD\src\[email protected]@ 
>> M:\ACME_PROD\src\ACME\file [email protected]@ 
>> M:\ACME_PROD\src\ACME\file [email protected]@ 
>> M:\ACME_PROD\src\ACME\file [email protected]@ 

我想要做的是使用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命令,但我卡住試圖把它放在一起!

最好的問候,

安德魯

回答

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

+0

這很棒!我怎樣才能得到它只複製從>>開始而不是所有行的行? – Andrew

+0

@Andrew對不起,我沒有采取其他措施,我已經更新了我的答案。 –

+0

非常感謝你,這非常棒! – Andrew

相關問題