2

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コマンドの個別のコードを見つけることができましたが、すべてをまとめようとすると行き詰まります。

よろしくお願いします、

アンドリュー

4

1 に答える 1

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ます。

于 2013-01-22T10:55:39.383 に答える