TsRenameというTSファイルのEPGを読み取ってファイル名を変更してくれる便利なツールがありますが、
バッチ処理をするときはリネーム後のファイル名がわからないということがあったりします。
リネームした後のファイルをバッチ処理する方法をなんとなく考えてみました。
あまり意味ないけどw
[ダウンロード]
#ref(): File not found: "TsRename2_01.lzh" at page "TsRenameのリネーム後のファイルでバッチ処理"
ファイルのディスク上での一意のID(数値)を表示するツールです。
このツールでIDを表示するとリネームしても同じIDが表示されます。
同じディスク内でmoveしたときはNTFSだと同じIDを維持しますがFATだと変化します。
GetFile_ID.exeを使ったバッチファイルです。
複数ファイルをまとめてドラッグすれば順次処理します。
バッチ処理の最後にやりたい処理を追記して使います。
@echo off rem 複数ファイル対応 :loop call :func "%~1" shift if not "%~1" == "" goto loop exit /b rem 元ファイルのIDを取得 :func set FILE=%~1 set DIR=%~dp1 for /f "usebackq" %%A in (`GetFile_ID.exe "%FILE%"`) do set FILE_ID=%%A rem TsRenameの実行 TsRename.exe -auto -quit "%FILE%" rem IDが一致するファイルを検索 for /r "%DIR%" %%B in (*.*) do ( for /f "usebackq" %%C in (`GetFile_ID.exe "%%~B"`) do ( if "%FILE_ID%" == "%%C" set RENAME=%%~B ) ) rem =========== ここから下を書き換えて使う =============== echo リネーム前のファイル名:"%FILE%" echo リネーム後のファイル名:"%RENAME%"