TsRenameのリネーム後のファイルでバッチ処理
の編集
https://videoinfo.tenchi.ne.jp/?TsRename%E3%81%AE%E3%83%AA%E3%83%8D%E3%83%BC%E3%83%A0%E5%BE%8C%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E3%83%90%E3%83%83%E3%83%81%E5%87%A6%E7%90%86
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
AutoTicketLinkName
AviSynth Wiki
AviUtlのお部屋
AviUtlプラグイン置き場
AviUtl実験室
AviUtlタ???
BracketName
DirectShow
DirectShow File Reader プラグイン for AviUtl
FrontPage
GNBの館
H.264/AVC
InterWiki
InterWikiName
InterWikiSandBox
InterWikiテクニカル
Matroska
Matroska FAQ
MatroskaProp
Matroska用ツール
MenuBar
MKVのアスペクト比
MKVの編集
MKV作成例
MKV再生環境
Monster-Xで予約録画
PHP
PukiWiki
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
seraphyのプログラム公開所
TsRenameのリネーム後のファイルでバッチ処理
WikiEngines
WikiName
WikiWikiWeb
x264オプション
x264設定-MeGUI
x264関連
YukiWiki
その他のプラグイン
まるも製作所
アニメエンコで役に立つかもしれない覚書
アニメーション編集 for AviUtl
アニメーション編集 サンプル
コマンド実行 for AviUtl
コンテナ
ジャンプウィンドウ
ジャンプウィンドウ YUY2 Wrapper
チャプター編集 for AviUtl
ヘルプ
メモ
可変フレームレート
可変フレームレート出力 for AviUtl
妖精現実
掲示板
整形ルール
日本語
東芝RDへiEPG予約
雑記
*TsRenameでのリネーム後のファイル名でバッチ処理をしてみる [#c4a09772] TsRenameというTSファイルのEPGを読み取ってファイル名を変更してくれる便利なツールがありますが、~ バッチ処理をするときはリネーム後のファイル名がわからないということがあったりします。~ ~ リネームした後のファイルをバッチ処理する方法をなんとなく考えてみました。~ あまり意味ないけどw~ ~ [ダウンロード]~ #ref("TsRename2_03.lzh") **GetFile_ID.exe [#s95a0e0b] ファイルのディスク上での一意のID(数値)を表示するツールです。~ このツールでIDを表示するとリネームしても同じIDが表示されます。~ 同じディスク内でmoveしたときはNTFSだと同じIDを維持しますがFATだと変化します。 **TsRename2.bat [#l63d8c9e] GetFile_ID.exeを使ったバッチファイルです。~ 複数ファイルをまとめてドラッグすれば順次処理します。~ バッチ処理の最後にやりたい処理を追記、またはcallで呼び出して環境変数の設定をさせて使います。~ @echo off rem 複数ファイル対応 :loop if /I "%~x1" == ".ts" 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 (*.ts) do ( for /f "usebackq" %%C in (`GetFile_ID.exe "%%~B"`) do ( if "%FILE_ID%" == "%%C" set RENAME=%%~B ) ) rem =========== ここから下を書き換えて使う =============== echo リネーム前のファイル名:"%FILE%" echo リネーム後のファイル名:"%RENAME%" -メモ~ for文中で環境変数を一時変数用には使えないようです。~ set文を複数回実行すると最後の値のみが反映されるような。~ **TsSplitHD_Demux.bat [#y22719f9] TsRename2.batを使った使用例。~ TsSplitterでHD動画だけを分離してAVSファイルの作成まで行います。~ 分離後のファイル名は"_HD"を追加しただけの決め打ちで想定していますが。~ ~ ここではTsRename2.batをcallで呼び出して環境変数の設定をさせています。~ @echo off :loop if /I "%~x1" == ".ts" call :func "%~1" shift if not "%~1" == "" goto loop exit /b :func call TsRename2.bat "%~1" call :func2 "%RENAME%" exit /b :func2 set FTS=D:\VideoFiles\TS\%~n1_HD set FTMP=D:\VideoFiles\tmp\%~n1_HD set FAVS=D:\VideoFiles\avs\%~n1_HD TsSplitter -EIT -1SEG -SD "%~1" -OUT "D:\VideoFiles\TS" start "" /min /wait BonTsDemux.exe -start -quit -i "%FTS%.ts" move /y "%FTS%.m2v" "%FTMP%.m2v" move /y "%FTS%.wav" "%FTMP%.wav" DGIndex.exe -SD=" -IF="%FTMP%.m2v" -OF="%FTMP%" -minimize -exit echo MPEG2Source("%FTMP%.d2v") > "%FAVS%.avs" echo ConvertToYUY2() >> "%FAVS%.avs" echo AudioDub(last, WAVSource("%FTMP%.wav")) >> "%FAVS%.avs" echo return last >> "%FAVS%.avs" **TaskSchedule.bat [#i9744bfa] 指定した時間にまとめて処理したい場合は以下のようなバッチをタスクスケジューラに登録して使うといいかもしれません。~ 処理したいファイルをINDIRフォルダに移動しておけば処理後はOUTDIRフォルダに移動されます。~ @echo off rem タスクスジェジューラでまとめ処理 set INDIR=D:\IN_TS\ set OUTDIR=D:\OUT_TS\ for /r "%INDIR%" %%A in (*.ts) do call :func "%%~A" exit /b :func call TsSplitHD_Demux.bat "%~1" move /y "%RENAME%" "%OUTDIR%"
タイムスタンプを変更しない
*TsRenameでのリネーム後のファイル名でバッチ処理をしてみる [#c4a09772] TsRenameというTSファイルのEPGを読み取ってファイル名を変更してくれる便利なツールがありますが、~ バッチ処理をするときはリネーム後のファイル名がわからないということがあったりします。~ ~ リネームした後のファイルをバッチ処理する方法をなんとなく考えてみました。~ あまり意味ないけどw~ ~ [ダウンロード]~ #ref("TsRename2_03.lzh") **GetFile_ID.exe [#s95a0e0b] ファイルのディスク上での一意のID(数値)を表示するツールです。~ このツールでIDを表示するとリネームしても同じIDが表示されます。~ 同じディスク内でmoveしたときはNTFSだと同じIDを維持しますがFATだと変化します。 **TsRename2.bat [#l63d8c9e] GetFile_ID.exeを使ったバッチファイルです。~ 複数ファイルをまとめてドラッグすれば順次処理します。~ バッチ処理の最後にやりたい処理を追記、またはcallで呼び出して環境変数の設定をさせて使います。~ @echo off rem 複数ファイル対応 :loop if /I "%~x1" == ".ts" 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 (*.ts) do ( for /f "usebackq" %%C in (`GetFile_ID.exe "%%~B"`) do ( if "%FILE_ID%" == "%%C" set RENAME=%%~B ) ) rem =========== ここから下を書き換えて使う =============== echo リネーム前のファイル名:"%FILE%" echo リネーム後のファイル名:"%RENAME%" -メモ~ for文中で環境変数を一時変数用には使えないようです。~ set文を複数回実行すると最後の値のみが反映されるような。~ **TsSplitHD_Demux.bat [#y22719f9] TsRename2.batを使った使用例。~ TsSplitterでHD動画だけを分離してAVSファイルの作成まで行います。~ 分離後のファイル名は"_HD"を追加しただけの決め打ちで想定していますが。~ ~ ここではTsRename2.batをcallで呼び出して環境変数の設定をさせています。~ @echo off :loop if /I "%~x1" == ".ts" call :func "%~1" shift if not "%~1" == "" goto loop exit /b :func call TsRename2.bat "%~1" call :func2 "%RENAME%" exit /b :func2 set FTS=D:\VideoFiles\TS\%~n1_HD set FTMP=D:\VideoFiles\tmp\%~n1_HD set FAVS=D:\VideoFiles\avs\%~n1_HD TsSplitter -EIT -1SEG -SD "%~1" -OUT "D:\VideoFiles\TS" start "" /min /wait BonTsDemux.exe -start -quit -i "%FTS%.ts" move /y "%FTS%.m2v" "%FTMP%.m2v" move /y "%FTS%.wav" "%FTMP%.wav" DGIndex.exe -SD=" -IF="%FTMP%.m2v" -OF="%FTMP%" -minimize -exit echo MPEG2Source("%FTMP%.d2v") > "%FAVS%.avs" echo ConvertToYUY2() >> "%FAVS%.avs" echo AudioDub(last, WAVSource("%FTMP%.wav")) >> "%FAVS%.avs" echo return last >> "%FAVS%.avs" **TaskSchedule.bat [#i9744bfa] 指定した時間にまとめて処理したい場合は以下のようなバッチをタスクスケジューラに登録して使うといいかもしれません。~ 処理したいファイルをINDIRフォルダに移動しておけば処理後はOUTDIRフォルダに移動されます。~ @echo off rem タスクスジェジューラでまとめ処理 set INDIR=D:\IN_TS\ set OUTDIR=D:\OUT_TS\ for /r "%INDIR%" %%A in (*.ts) do call :func "%%~A" exit /b :func call TsSplitHD_Demux.bat "%~1" move /y "%RENAME%" "%OUTDIR%"
テキスト整形のルールを表示する
添付ファイル:
TsRename2_03.lzh
4343件
[
詳細
]