0

助けが必要です。テキスト ファイルがあり、その中に TFS コマンド (tfhistory) からの出力があります。


変更セット: 74125 ユーザー: JDoe 日付: 2012 年 8 月 30 日木曜日 15:56:06

コメント: タスク # 12345. JDoe.

項目:

マージ、編集 $/プロジェクト名/FolderSln/Folder1/Binary.File1.cs

マージ、編集 $/Project Name/Folder1/Folder2/SQL_File2.sql

マージ、編集 $/プロジェクト名/Folder1/Folder2/Folder3/File3.png

チェックイン メモ: コード レビュー担当者: パフォーマンス レビュー担当者: セキュリティ レビュー担当者:


私の目的は、ファイルからすべてのジャンクをフィルタリングし、ファイルのリストのみを保持することです。上記の例では、出力は以下のようになります。ただし、CS ファイルの場合は、ファイルの代わりに dll をコピーできます。


Folder1.dll

SQL_File2.sql

File3.png


複数のファイルを含む複数の変更セット セクションがあり、ファイル パスが異なる可能性があることを考慮して、これを達成するにはどうすればよいですか?

ファイル パスのみを抽出するために、GREP または FINDSTR コマンドを使用して行を分離し、配列を使用してファイル名を抽出し、それらを別のテキスト ファイルに公開する小さなアプリケーションを作成することが可能であると考えていました。

$/プロジェクト名/Folder1/Binary.File1.cs

$/プロジェクト名/フォルダー1/フォルダー2/SQL_File2.sql

$/プロジェクト名/フォルダ1/フォルダ2/フォルダ3/ファイル3.png

4

1 に答える 1

1

tf history の出力がファイル呼び出し tf.list としてあると仮定すると、このバッチは目的の結果を生成します。

for /F "delims=$ tokens=1,*" %%a in (tf.list) do if NOT !%%b!==!! call :line "%%b"

goto :eof

:line
set filename=%~n1%~x1
echo %filename%
goto :eof
于 2012-08-31T12:49:45.203 に答える