GUIで複数ファイルをコマンドで一括処理する
複数ファイルをコマンドやコンソールアプリケーションを使って汎用的なGUIで一括処理/ループ処理する方法です。
FFmpeg(動画変換)、ImageMagick(画像変換)、等の簡易的なフロントエンドとして使えます。
ダウンロード
以下の携帯動画変換君のダウンロードページを開き、「ダウンロード」の所にある「携帯動画変換君 Version ~」というリンクをクリックし、ファイルを保存し、展開(解凍)します。
ダウンロードと展開が完了しても、まだソフトは起動しないでください。エラーが起きる危険性があります。
http://mobilehackerz.jp/contents/3GPConv
※広告があるので間違えないようご注意ください。
展開(解凍)
「3GP_Converter〜」(.zip)ファイルを展開(解凍)します。
出来たフォルダを開きます。
以下の3つだけを残し、その他のファイルやフォルダを削除します。
- 「3GP_Converter」(.exe)ファイル
- 「finishing」フォルダ
- 「languages」フォルダ
(まだ何も実行はしないでください。)
設定ファイルの準備
次に、以下の2つの方法のどちらかで、処理の設定ファイルである「Transcoding」(.ini)ファイルを用意します。
ダウンロードする場合
こちらから圧縮ファイルをダウンロード(保存)します。
保存したファイルを展開(解凍)します。
出来たフォルダを開きます。
中にある設定ファイル「transcoding」(.ini)ファイルを、携帯動画変換君のフォルダ内にコピーします。
自分で作成する場合
Windows付属の「メモ帳」等のテキストエディタを起動します。
以下の文章をコピー&ペーストします。
「transcoding.ini」というファイル名(全て半角)を付け、携帯動画変換君のフォルダ内に保存します。(可能なら、保存時に、「文字コード」または「エンコード」は、「ANSI」か「Shift_JIS」にします。)
[Info]
Title=
[Item0]
Title=圧縮 ( 出力フォルダへ )
Command0=" makecab "<%InputFile%>" "<%OutputPath%><%Title%>.cab" "
[Item1]
Title=圧縮 ( 同じフォルダへ )
Command0=" makecab "<%InputFile%>" "<%InputFilePath%><%Title%>.cab" "
[Item2]
Title=圧縮 ( 同じフォルダへ / アンダーバー付加 )
Command0=" makecab "<%InputFile%>" "<%InputFilePath%><%Title%>_.cab" "
[Item3]
Title=圧縮 ( 同じフォルダへ / 乱数付加 )
Command0=" makecab "<%InputFile%>" "<%InputFilePath%><%Title%>_<%RandomNumber9%>.cab" "
作成は以上です。
上記の設定ファイルは、Windowsの「makecab」コマンドでファイルを圧縮する例です。
makecabコマンドの基本書式は、「makecab 入力ファイル 出力ファイル」です。
設定ファイルの編集
以下は、設定ファイルの主な意味です。
[Info]
Title= ← メインタイトル
[Item0] ← 処理のナンバー
Title=〜 ← 処理のタイトル
Command0=" 〜 " ← 実行するコマンド
処理を増やすには、「[Item0]」からの3行を、「[Item1]」「[Item2]」・・・という風に増やしていきます。この数値はきちんと連番にしてください。そうしないと認識されません。
1つの処理で、1つのコマンドを行うのではなく、
1つの処理で、2つ以上のコマンドを実行したい場合は、
Command0=" 〜 "
Command1=" 〜 "
という感じで番号を増やして記述します。
実行出来るコマンドは、コンソールアプリケーション等、「ファイル名を指定して実行」(Winキー+Rキー)で実行出来るものです。コマンドプロンプト独自のコマンドを直接実行する事は出来ません。
携帯動画変換君の独自の変数
携帯動画変換君では、「Transcoding」(.ini)ファイルにおいて独自の変数が使えます。変数を記述した位置にその内容が入ります。詳細は以下の通りです。
- <%AppPath%>
- 携帯動画変換君のフォルダのパス。
- <%InputFile%>
- 入力ファイルのパス。
- <%InputFilePath%>
- 入力フォルダのパス。「\」終わり。「C:\ 〜 \入力フォルダ\」形式。
- <%InputFileBase%>
- 入力ファイル名。末尾のドットと拡張子を除く。「aaa.txt」なら「aaa」部分。オプションでタイムスタンプは付けられない。
- <%InputFileExt%>
- 入力ファイルの拡張子。ドット付き。「.xxx」形式。
- <%OutputFile%>
- 出力ファイルのパス。拡張子は除く。「C:\ 〜 \出力フォルダ\入力ファイル名」形式。入力ファイル名に含まれる「^」は「-」に変換されます。
- <%OutputPath%>
- 出力フォルダのパス。「\」終わり。「C:\ 〜 \出力フォルダ\」形式。
- <%RandomNumber〇%>
- ランダムな数値。〇には「1〜9」の桁数が入ります。「<%RandomNumber5%」なら5桁のランダムな数値です。
- <%TemporaryFile%>
- 一時ファイルのパス。「(ユーザーの一時フォルダ)\xxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx」形式。「xxxxxxxx」はランダムです。
- <%TimeStamp%>
- 入力ファイルの更新日時。「YYYY-MM-DD hh:mm:ss」形式。
- <%Title%>
- 入力ファイル名。末尾のドットと拡張子を除く。「aaa.txt」なら「aaa」部分。オプションでタイムスタンプを付けられる。
※「<%RandomNumber〇%>」と「<%TemporaryFile%>」の値はランダムであり、1処理毎に違う値になりますが、1処理内にある「Command0」と「Command1」においては同じ値です。
実行するプログラムの記述方法
例えば、実行するプログラムが「aaa.exe」の場合、パスが通っていれば、「aaa」と記述するだけで実行出来ます。
Command0=" aaa 〜 "
パスが通っていない場合は、実行するプログラムを携帯動画変換君のフォルダ内に置いて、「<%AppPath%>」(携帯動画変換君のフォルダのパス)を利用して記述しても良いです。(拡張子の「.exe」は省略出来ます)
Command0=" "<%AppPath%>\aaa" 〜 "
又、携帯動画変換君のフォルダ内に、実行するプログラム用のフォルダを作成し、そこに実行するプログラムを入れて指定しても良いです。フォルダ名は任意です。
Command0=" "<%AppPath%>\cores\aaa" 〜 "
又は、絶対パス(「C:\〜」形式)で記述しても良いです。ただし、実行するプログラムや、それがあるフォルダを移動させると実行出来なくなります。
Command0=" "C:\ 〜 \aaa.exe" 〜 "
使い方
使い方の解説です。
起動
「3GP_Converter」(.exe)ファイルを実行します。
出力先の指定
「出力先ディレクトリ」の右にある「参照」ボタンをクリックして指定します。
未指定の場合はデスクトップとなります。
この設定は、「Transcoding」(.ini)ファイル内の処理の出力先に、
「<%OutputFile%>」や、
「<%OutputPath%>」を記述している場合のみ有効です。
行う処理の選択
処理を実行する
処理したいファイルをクリックし、クリックしたままソフトの画面上まで移動させ、クリックを放します。(ドラッグ&ドロップ)
複数ファイルの選択方法は、
最初のファイルをまずクリックして選択状態にし、
「Ctrl」キーを押しながら次のファイルをクリックすると、個別に複数選択、
「Shift」キーを押しながら次のファイルをクリックすると、範囲で複数選択出来ます。
ファイルをドラッグ&ドロップすると、処理が開始され、「処理中」の枠内に処理中のファイル名が表示されます。
ファイル名が消えれば完了です。
指定された出力先にファイルが出力されます。
又、処理中でも、他の処理を選んだり、ファイルを追加したり出来ます。
オプション
ソフトのオプションを変更したい場合は、ソフトの画面の余白部分を右クリックし、「オプション」をクリックします。
ファイル名の先頭にタイムスタンプ(入力ファイルの更新日時)を付ける設定もあります。ただ、ファイル名の末尾には付ける事は出来ないようです。(不具合か、こちらの問題かも知れません。)
これは、
「<%OutputFile%>」と、
「<%Title%>」のファイル名にのみ適用されます。
「<%InputFileBase%>」のファイル名には適用されません。
ウィンドウの最小化と復元
注意点
エラーが発生すると、右側に黒いログ画面が表示されますので、閉じたい場合は、ログ画面を右クリックして「閉じる」をクリックします。処理自体は、数秒後に自動で次の処理が開始されます。
又、処理が一時停止してしまうようなコマンドを書くと、いつまで経っても処理が終わりませんのでご注意ください。特に上書き確認等です。重複したファイル名で出力しないようにご注意ください。
又、カレントディレクトリは起動条件等により変化します。