7/3追加:HDDの大量ファイルを利用はするが管理はしない。ファイル活用支援バッチ FileLinkMaker.bat 機能説明2(リンク連続作成:タスクスケジューラによるリンク自動更新処理)
大量ファイルを利用はするが管理はしないFileLinkMaker.bat 旧:大量に貯まったファイルを手軽にユル~く利用するWindows DOSバッチファイル。※設定は緩くないかも( ˘•ω•˘ )機能説明。仕事に影響させたくないんで毎日でもちょっとづつ更新。
Ver.1.3.170710
・長名に出来るだけ対応。※完全に対応は出来ていませんorz
・FILELINKMAKER USERPROFILE 設定の常駐化(見出しに記述必要) FILELINKMAKER は"FileLinkMaker1.bat"があるフォルダです。 USERPROFILEはOSが用意するユーザ領域で環境変数の USERPROFILE です。今までは設定に記述しても一度書き換えてしまうと元に戻りませんでしたが、見出し設定に記述する事で定義を維持できます。
・検索対象外は「1.出力パス」設定のみでしたが、FILELINKMAKERとUSERPROFILE\AppDataはデフォルトで検索対象外。
・設定値"半角スペース"または"全角スペース"の設定値は保存しない。
Ver.r1.2.170705 Ver.1.1.170701 からキー操作をいくつか変えました。呼び出し方がちょっと?変になってたんで。FileLinkMaker1.batと同.iniファイルは差し替える事になります。後、多少ふざけたフォルダ名でも動くように対応。
Ver.1.1.170701 BAT管理のランダム再生機能(弐型)追加。iniとbat変わってます。
ランダム再生、シャッフル再生とかいいますが「プレイリストに読み込んだファイルを順不同に再生する機能」です。過去「Winパソコンで動画をランダム(シャッフル)再生しよう! (MPC-HC再生サポート のフロントエンドbatファイルの作成) ※修正個所アリ」なんて恥ずかしいBATを晒していまが、これは動画プレイヤーのMPC-HCに「フィルタ条件込みのフォルダ情報を渡してランダム再生させる」なBATで、この部分はFileLinkMaker1.0.170625の@でのランダム再生と同一です。一度フォルダ情報を渡せば後は非同期にて勝手にランダム再生してくれる。ある意味では楽に実現できた機能でした。
が、リストとなるフォルダのファイル数が数百数千となると起動直後の読み込みに非常に時間がかかるようになってきました。で、再生するのはその中の一部で、回数を重ねると場合によっては一度再生されて見たファイルも含まれるわけで、コレジャランダム再生じゃねー(# ゚Д゚)と突っ込みながら利用してました。この解決には「一度再生したら(リスト再作成まで)再生できないようにする。それにはスクリプト側でリストと起動の管理をするしかない」と言う訳で、FileLinkMaker1.batに従来のパス渡しは壱型、BAT制御は弐型として実装しました。
壱型は従来通り"@"起動で「MPC-HCかMPC-BEにフィルタ条件込みのフォルダ情報を渡してランダム再生」です。
弐型は"[" 起動で「フォルダ内のファイルをランダム選択した後に$フォルダに移動してからプレイヤー起動再生して再生終了後にプレイヤーを終了させてBATにタスクを戻して3秒後にBAT再実行」としました。これは一度再生したファイルの除外と次・前移動で未再生の別ファイル再生を防ぐためです。この実現には制限がありまして、再生後に終了オプションを持つプレイヤーでないとダメで、今判明してる実現してくれるプレイヤーはMPC-HCとMPC-BEです。最初はWindowsMediaPlayerでもイケルゾーーーーと興奮してたのですが、12は/Closeオプションが無くなってましたorz。再生後に×で閉じないと先にイカナイ( ノД`)シクシク… あと、BATと同期しないといけないので、実行中は他の機能はツカエマセン。
けどまーこれで一通り考えてた機能が実装できたー。
大量ファイルを利用はするが管理はしないFileLinkMaker.bat 旧:大量に貯まったファイルを手軽にユル~く利用するWindows DOSバッチファイル。※設定は緩くないかも( ˘•ω•˘ )機能説明。仕事に影響させたくないんで毎日でもちょっとづつ更新。
Ver.1.3.170710
・長名に出来るだけ対応。※完全に対応は出来ていませんorz
・FILELINKMAKER USERPROFILE 設定の常駐化(見出しに記述必要) FILELINKMAKER は"FileLinkMaker1.bat"があるフォルダです。 USERPROFILEはOSが用意するユーザ領域で環境変数の USERPROFILE です。今までは設定に記述しても一度書き換えてしまうと元に戻りませんでしたが、見出し設定に記述する事で定義を維持できます。
・検索対象外は「1.出力パス」設定のみでしたが、FILELINKMAKERとUSERPROFILE\AppDataはデフォルトで検索対象外。
・設定値"半角スペース"または"全角スペース"の設定値は保存しない。
ランダム再生、シャッフル再生とかいいますが「プレイリストに読み込んだファイルを順不同に再生する機能」です。過去「Winパソコンで動画をランダム(シャッフル)再生しよう! (MPC-HC再生サポート のフロントエンドbatファイルの作成) ※修正個所アリ」なんて恥ずかしいBATを晒していまが、これは動画プレイヤーのMPC-HCに「フィルタ条件込みのフォルダ情報を渡してランダム再生させる」なBATで、この部分はFileLinkMaker1.0.170625の@でのランダム再生と同一です。一度フォルダ情報を渡せば後は非同期にて勝手にランダム再生してくれる。ある意味では楽に実現できた機能でした。
が、リストとなるフォルダのファイル数が数百数千となると起動直後の読み込みに非常に時間がかかるようになってきました。で、再生するのはその中の一部で、回数を重ねると場合によっては一度再生されて見たファイルも含まれるわけで、コレジャランダム再生じゃねー(# ゚Д゚)と突っ込みながら利用してました。この解決には「一度再生したら(リスト再作成まで)再生できないようにする。それにはスクリプト側でリストと起動の管理をするしかない」と言う訳で、FileLinkMaker1.batに従来のパス渡しは壱型、BAT制御は弐型として実装しました。
壱型は従来通り"@"起動で「MPC-HCかMPC-BEにフィルタ条件込みのフォルダ情報を渡してランダム再生」です。
弐型は"[" 起動で「フォルダ内のファイルをランダム選択した後に$フォルダに移動してからプレイヤー起動再生して再生終了後にプレイヤーを終了させてBATにタスクを戻して3秒後にBAT再実行」としました。これは一度再生したファイルの除外と次・前移動で未再生の別ファイル再生を防ぐためです。この実現には制限がありまして、再生後に終了オプションを持つプレイヤーでないとダメで、今判明してる実現してくれるプレイヤーはMPC-HCとMPC-BEです。最初はWindowsMediaPlayerでもイケルゾーーーーと興奮してたのですが、12は/Closeオプションが無くなってましたorz。再生後に×で閉じないと先にイカナイ( ノД`)シクシク… あと、BATと同期しないといけないので、実行中は他の機能はツカエマセン。
FileLinkMaker使えばこんな検索できますサンプル
検索パス5 対象ファイル数16385 サイズ計2.09TB
B:\@MMD\01\ B:\@MMD\05\ B:\@MMD\10\
B:\@MMD\20\ B:\@MMD\40\
検索文字(12ワード)
大和 yamato 金剛 kongo 愛宕 atago 鹿島 kashima
ビスマ bismarck ツェッペ zeppelin
5つの検索パスを 12の検索ワードで検索して、ヒットしたファイルリンクをMMDフォルダに出力。 検索パスの記録媒体はHDDは6TB。MMDフォルダはSSD。
これ以上、静止画はめんどいんで、動作を動画でアップ
719ファイル出来ましたとさ。
Ver.r1.0.170625 初リリース
メッセージを変更したFileLinkMaker.iniの入替完了。スライドもキャプと文章修正終り。修正したスライドはリンク先参照。BATはそのままなのでバージョンそのまま。
FileLinkMakerのファイル構成
FileLinkMaker1.bat BAT本体
FileLinkMaker1.ini システム設定の定義。初回保存時までユーザ設定も保持。
FileLinkMaker1.txt ユーザ設定の定義。初回保存時以降に作成。
FileLinkMaker1.log リンク作成時の動作log。
"FileLinkMaker.ini"に保存している設定は、主にBAT動作に必要な設定と、ユーザに設定を許していない5.6.項目です。1.~4.項目のユーザ設定は"FileLinkMaker.txt"へと保存します。
"FileLinkMaker.txt"の中身はこんな感じです。タブ区切りのテキスト文です。
画面の編集機能を利用して設定変更する事もできますが、慣れてくればテキストエディタで直接編集も可能です。ユーザ設定の構造は
SECTION-ID <tab> GROUP-NO <tab> KEY-NO <tab> 設定値
の繰り返しです。
画面と"FileLinkMaker.txt"を比較すると"SECTION-ID"は「1.出力パス」はともかく以後の「2.出力アプリ」「3.検索条件」「4.検索パス」は頭の番号が"SECTION-ID"と違うことに気が付くと思います。実は項目は内部はIDで管理です。対して表示はNOで並べています。 蛇足ですが設定二はNO設定ですので、もし今後項目の並び順が変わったら違う値が入ることにります。話を戻します。
手動で値を追加する場合のそれぞれの番号や値の定義はこんな感じです。
SECTION-ID は同項目内の番号と同値
GROUP-NOは同項目内の後ろに追加するなら最大+1を記述。
KEY-NOは同GROUP-NO内で0からカウントUP
KEY-NO 0:表題
KEY-NO 1:必須設定
KEY-NO 2 オプション他
同じ"SECTION-ID GROUP-NO KEY-NO"があると後ろ設定が有効になるので注意してください。画面で適当な値を追加して、エディタで設定しなおすのもいいかもしれません。DOS画面で入力する関係上、使い辛いと思いますしね。ExcelやGoogleスプレッドにコピペで張り付けて編集後、メモ帳に張り付けて保存するとさらにイイカモ。
とりあえずドキュメント書きはココまでかなー。次はのんびりと機能追加すっか。
同じ"SECTION-ID GROUP-NO KEY-NO"があると後ろ設定が有効になるので注意してください。画面で適当な値を追加して、エディタで設定しなおすのもいいかもしれません。DOS画面で入力する関係上、使い辛いと思いますしね。ExcelやGoogleスプレッドにコピペで張り付けて編集後、メモ帳に張り付けて保存するとさらにイイカモ。
とりあえずドキュメント書きはココまでかなー。次はのんびりと機能追加すっか。