ラベル bat の投稿を表示しています。 すべての投稿を表示
ラベル bat の投稿を表示しています。 すべての投稿を表示

2018年1月9日火曜日

ファイル検索リンク作成と動画ファイルの再生・エンコード支援バッチ 「FFJungle」

■ファイル検索リンク作成と動画ファイルの再生・エンコード支援バッチ「FFJungle」
 ダウンロードは⇒「FFJungle Download」
 
■出来る事は大きく三つ
 (1)ファイルの検索とリンク作成
  指定した検索パスを、指定条件でフォルダ名やファイル名を検索し、出力先にリンクを作成する。

 (2)音楽・動画のプレイヤーの再生支援 ※再生はWindows設定プレイヤー
  検索リンクが音楽ファイルや動画ファイルの場合、既定のアプリで再生する。※再生は指定時間単位。または停止
  1.連続再生をする。※再生グループの指定とランダム再生可能
  2.再生ファイルの再々生除外。※初期化で元に戻せる
  3.再生ファイルの評価 (1~9段階)
  4.任意の評価グループを連続再生をする。※評価グループの指定とランダム再生可能

 (3)動画ファイルのエンコード支援 ※エンコードはffmpegセット利用
  適切なffmpegファイル(https://ffmpeg.zeranoe.com/builds/)がFFJungle.batと同パスに存在する場合、以下の機能が有効になります。
  1.ファイル時間を参照して再生できる。※指定時間単位も可能
  2.動画ファイルの場合、指定フォーマットでエンコード変換できる。※既定はH.265 ユーザにより変更可能
  3.動画ファイルのエンコード処理を、動画のビットレートを参照して閾値を超えたファイルのみに出来る。
  4.ffplay.exeによる動画再生。


■注意事項
 FFJungle は全てWindows-Dosコマンドのバッチスクリプトで作成しているため、実行には注意しなければならない点があります。
 (1)DOSの管理者モードで動かす必要があります。
 (2)システムドライブのルート指定(例 c:\)はしないでください。
 (3)BAT実行中にDOS窓をクリックすると実行が停止する場合があります。その場合はキー入力すると実行再開します。また裏でOSアップデートなどが行われている場合、動きが非常に遅くなります。
 (4)Windows Dosの制限に縛られるため、一部の記号や特殊文字があると検索しないや動作エラーなどの原因になります。 !%^ハンカク・の半角記号は全角文字か別記号かに置換または削除してください。\/:*?"<>|もだがファイル名に出来ないハズ。
 (5)半角と全角は別名として扱います。それぞれ指定してください。
 (6)バッチ本体及び出力先は必ずローカルドライブ上のパスにしてください。
 (7)著作権ファイルの再生・変換は対応していません。
 (8)標準プレイヤーが多重起動許可している場合、必ず無効にしてください。


■個人的にあると便利なアプリケーション
 (1) 忘れちゃならない『ffmpeg (https://ffmpeg.zeranoe.com/builds/)』(Windowsが32bit版か64bit版を環境に合わせて選択)
 (2) 注意事項(4)を出来るだけ回避するには『FlexibleRenamer (https://hp.vector.co.jp/authors/VA014830/FlexRena/)』が便利です。検索対象フォルダの!%^ハンカク・などのファイル名を予め全角に置換しておくと検索エラーの多くを回避できます。
 (3) 再生プレイヤーは、最近は『PotPlayer (https://potplayer.daum.net/)』を標準で利用しています。著作権保護ファイル以外、ほぼすべての形式を再生してくれて何より軽いのが気に入ってます。
 インストール直後は多重起動が有効の場合は必ず無効にします。それと再生サイズや位置を記憶してくれるよう設定できるので、マルチ画面連続再生とか画面サイズを変えずに再生する事ができます。


■動作確認 OS
  Windows 7 Pro SP1(32bit)
  Windows 10 Pro (64bit)


■ファイル説明
 (1)インストールファイル
  FFJungle.bat バッチ本体
  FFJungle.bau バッチ設定ファイル1(システム設定)

 (2)実行すると出来るファイル
  FFJungle.ini バッチ設定ファイル2(ユーザ設定)
  FFJungle.log バッチ実行ログ
  FFJungle.tmp 実行作業ファイル

 (3)再生支援アプリ ※再生補正やエンコード機能を利用するには必須。
  FFmpegのWindows版(32bit版か64bit版を環境に合わせて選択)をhttps://ffmpeg.zeranoe.com/builds/ より取得。
  圧縮ファイルより3ファイルを取り出す。
   ffmpeg.exe
   ffplay.exe
   ffprobe.exe
  FFJungle.batと同じパスに置く。

 (4)そのうちインストールファイルに追加予定
  Readme.txt  説明ファイル


■インストール
 (1)圧縮ファイルを任意の場所に展開する。※必ずローカルドライブ上のパスに置く。
 (2)FFJungle.batのショートカットを作る。
 (3)作ったFFJungle.batのショートカットに「管理者として実行」権限を付ける。
   右クリックのプロパティの「ショーカット」タブの「詳細設定(D)」ボタンを押して、管理者として実行(R)にチェックを入れて「OK」ボタンを押す。
 (4)同プロパティの「レイアウト」タブのバッファサイズを倍以上、ウインドサイズを大きくする。
  ※バッチを動かした後に環境に応じて調整してください。


■アンインストール
 展開したフォルダごと削除してください。


■使用許諾・免責・配布条件
 (1)本プログラムは、フリーウェアです。また本プログラムは、ソースコードを公開します。
 (2)本プログラムを使用・改変した上で生じたいかなる損害についても、作者は一切の責任を負いません。
 (3)転載、及び配布を行う際においては、事前に作者に連絡してくださると有難いです。
 (4)本プログラム、およびドキュメントの内容は、予告なしに変更できることとします。


■著作権
 著作権は、作者である是々録画が所有します。


■その他
 使用した感想などありましたら下記までお願いします。
 https://zezerokuga.blogspot.jp/


■基本的な流れ 
 デスクトップにフォルダを置いた場合。

起動直後メニューです。管理者モードで実行しています。
何も設定が無いと、出力PATHをFFJungle設置フォルダ、検索PATHをユーザフォルダに設定を追加します。操作はコマンド入力です。項目1~4は改行で移動。項目内の詳細は数字キー指定で移動します。検索実行は\[Enter]です。
上記は
 1.出力PATH FFJ\MV\ に結果リンク作成 (FFJは短名)
 2.検索条件 .mp .wm がパス・ファイル名・拡張子のどこかに含まれてる
 3.検索PATH UPF\  個人フォルダ検索(UPFは短名)
 の設定で実行した結果です。1件ヒットしました。s[Enter]で設定を保続すると"最終更新時間"も保存し、次回検索時に最終更新日時以前のファイルは追加しないようになります。
 コマンド簡易一覧以外の文字列は検索条件と判断し「2.検索条件」の詳細に追加します。直後に\[Enter]して素早い検索の実行が可能です。


■開発までの経緯
 ぶっちゃけ動画の取り扱いが「イロイロメンドクサクなった」に尽きます。動画整理を自分なりに拘ってたら、いつの間にか「時間が足らない」「手が足らない」「HDD容量が足らない」と足らない尽くしに、にっちもさっちもいかなくなってました。取り扱う動画ファイル数や保存先が多くなり、変換に時間が足らなくなり、録画ファイル一時保管のHDDの増設が繰り返され、このままではて小遣いが出てくばかりの悪循環(;´Д`)
 何とかしなければと、仕事の合間にチマチマと作りました。結果は過去イロイロ作ったマクロやスクリプトを整理して一つにまとめたよーなバッチになりました。


■操作マニュアル
 全く出来てません。
  (未)検索設定
  (未)検索実行
  (未)再生支援
  (未)変換手順
  (未)その他
 順次作成してリンクしていく予定ですが、果たしていつになるやら(;´Д`)


■簡易メニュー説明
 FFJungleの操作はキャラクタベースのため、決して快適とは言えません。
 画面に合わせて表示するガイダンスを見て実行してください。

 (1)設定編集
  q 終了 終了します。
  a 追加 指定項目に条件を追加します。
  e 編集 指定条件を編集します。
  d 削除 指定条件を削除(空白化)します。
  s 保存 設定をFFJungle.bauとFFJungle.iniに保存します。
  j 全接 全表示検索条件をリンクします。
  jj 有接 リンクが存在する検索条件のみリンクします。
  h 接外 リンクを外します。
  k KEY 編集ロックフラグON/OFF
  kk ロック 編集ロックON/OFF

 (2)設定移動 ※出力条件設定のみ
  p 出力条件設定の移動〈前〉
  n 出力条件設定の移動〈次〉
  pp 出力条件設定の移動〈先頭〉
  nn 出力条件設定の移動〈末尾〉

 (3)エクスプローラを開く
  o explorer〈出力パス〉
  oo explorer〈検索出力パス〉
  ooo explorer〈感想出力パス〉
  i explorer〈検索パス〉i数

 (4)検索リンク作成など
  \ 〈検索リンク〉差分作成
  \/ 〈検索リンク〉作成
  \\ 〈検索リンク〉差分連続作成
  \\// 〈検索リンク〉連続作成
  \/-- 〈検索リンク〉戻し
  @\-- 〈検索リンク〉再生履歴戻し
  @@-- 〈感想リンク〉再生履歴戻し

 (5)Windows設定アプリで再生
  [ 〈検索リンク〉昇順再生
  ] 〈検索リンク〉降順再生
  [[ 〈感想リンク〉昇順再生
  ]] 〈感想リンク〉降順再生
  @ 〈検索リンク〉ランダム再生
  @[ 〈検索リンク〉検索フォルダランダム昇順再生
  @] 〈検索リンク〉検索フォルダランダム降順再生
  [@ 〈検索リンク〉昇順再生
  ]@ 〈検索リンク〉降順再生
  @@ 〈感想リンク〉ランダム再生
  @[[ 〈感想リンク〉感想フォルダランダム昇順再生
  @]] 〈感想リンク〉感想フォルダランダム降順再生
  [[@ 〈感想リンク〉昇順再生
  ]]@ 〈感想リンク〉降順再生

 (6)プレイヤー時再生メニュー
  Q抜け 再生を中止してトップメニューに戻る。
  S再停 再生終了時に自動で次ファイルを再生するか、ユーザの操作を待つかの切替。
  R共通 リンクを設定1の再生フォルダに移動させる。
  《《1再生》 2焼却 3ゴミ 4放置 5卓上 6収納 7宝箱 8神棚 9天上》 評価1~9移動
  0先頭 同じファイルを最初から再生する。
  P次へ 次ファイルを再生する。
  O開く リンクフォルダを開く
  《F換720 J換900》 再生中ファイルのエンコード変換 ※FFmpeg無しは非表示

 ※(7)(8)はFFmpegがBATと同じパスに無いと動きません。

 (7)ffmpegによるエンコード処理
  / 感想Noファイル概要確認
  // 持出処理〈対象参照〉
  /@ 持出処理〈閾値内コピー〉
  /@@ 持出処理〈全コピー〉
  /@f 持出処理〈閾値内コピー外sd変換〉
  /@j 持出処理〈閾値内コピー外hd変換〉
  /f 持出処理〈閾値外sd変換〉
  /j 持出処理〈閾値外hd変換〉
  /ff  持出処理〈全sd変換〉
  /jj 持出処理〈全hd変換〉

 (8)ffplay再生 メニューは非表示
  - ffplay〈検索リンク〉ランダム再生
  -[ ffplay〈検索リンク〉検索フォルダランダム昇順再生
  -] ffplay〈検索リンク〉検索フォルダランダム降順再生
  [- ffplay〈検索リンク〉昇順再生
  ]- ffplay〈検索リンク〉降順再生
  -- ffplay〈感想リンク〉ランダム再生
  -[[ ffplay〈感想リンク〉感想フォルダランダム昇順再生
  -]] ffplay〈感想リンク〉感想フォルダランダム降順再生
  [[- ffplay〈感想リンク〉昇順再生
  ]]- ffplay〈感想リンク〉降順再生


■引数起動
 起動オプション 第一引数(数字) 指定出力パス条件で検索を連続実行する。
ex. FFJungle.bat 2 2番目の出力パスのリンクする条件で検索を自動実行する。

2017年11月1日水曜日

ランダムパスワードをサクッと大量に作る必要があったのでWindows-DOSで作ってみました。

セキュリティが厳しく余計なソフトが入れられない場所で、英数半角ランダムパスワードを大量にその場でサクッと作る必要があったのでDOSのBATで作りました、、、けど運用が変わって必要なくなったので晒しますorz

以下をファイル名はrandom.bat とかでメモ帳で作ります。

@echo off
rem random.bat
rem ランダム文字列0-1a-Zの取得
rem IN %1 数字 出力文字数
rem OUT %1文のランダム文字の出力

setlocal enabledelayedexpansion

rem 出力配列と配列数の取得
set r=A a 1 B b 2 C c 3 D d 4 E e 5 F f 6 G g 7 H h 8 I i 9 J j 0 K k L l M m N n O o P p 0 Q q 9 R r 8 S s 7 T t 6 U u 5 V v 4 W w 3 X x 2 Y y 1 Z z
set s=0
for %%r in (!r!) do (
  set /a s+=1
  set r[!s!]=%%r
)

rem 引数分のランダム文字の取得
for /l %%i in (1,1,%1) do (
  set /a r=!s!*!RANDOM!/32768+1
  for %%r in (!r!) do set t=!t!!r[%%r]!
)
echo !t!

6桁のパスワードを作りたいならこんな感じで実行します。
>random.bat 6
EJ9K6L

これをforで回数分回せば、ランダムパスワード大量(σ・∀・)σゲッツ!!

今日はコレマデ!

2017年7月3日月曜日

HDDの大量ファイルを利用はするが管理はしない。ファイル活用支援バッチ FileLinkMaker.bat 機能説明2(リンク連続作成:タスクスケジューラによるリンク自動更新処理)

大量ファイルを利用はするが管理はしないFileLinkMaker.bat  旧:大量に貯まったファイルを手軽にユル~く利用するWindows DOSバッチファイル。※設定は緩くないかも( ˘•ω•˘ )機能説明2

画面下の操作説明の中の一文。
. シンボリックリンク作成出来ます。作成開始\[Enter]。連続作成-[Enter]
と言う訳で、連続作成-[Enter]について図解説明です。
なぜシンボリックリンク連続作成を追加したかというと、検索ファイル数が多くなり一つ一つ実行の実行にそれなりに時間がかかり、全部リンク作成(更新)しようとしたらかなりメンドクサクなったから。ホントは追加ファイル差分更新とかしたいんですけどねー作れるにしてもかなり時間がかかりそーーと言うか出来るのか?なのでトーブンは毎回丸ごと更新する事にしました。欠点はランダム再生済みフォルダもつぶれて更新後ランダム再生が一からって事ですか。せめてランダム再生済みとか考慮したリンク再作成とか考えたいですね。
 などモーソーしながら作ったのですが、実行して終わるまではやっぱり時間がかかりまして(ソリャソーダ)、じゃパソコンが起動してて俺が余り使っていないときに実行させてやろーともう一手間かけました。それが
 「1.出力パスNOをバッチ呼び出し時に引数として渡すとシンボリックリンク連続作成を自動開始する」機能です。この動きを試す方法は管理者権限を付与したショートカットのリンク先を「~¥FileLinkeMaker.bat 1」(空白は半角スペース)と書き換えるだけです。

 このバッチをタスクスケジューラとか登録しておくと、設定数が多くなって更新に時間がかかるような処理をパソコンを使っていない時間に行って更新させる事ができます。
 FileLinkMaker1.batのタスクスケジューラへの登録方法はwindows10 creators update なら ウィンド田マーク上マウスの右クリック「コンピュータの管理(G)」で「タスクスケジューラ」を選択します。

この設定は「パソコンが起動してログイン状態の毎日朝の四時にFileLinkMaker1.batを出力パスNo.2 で(リンク連続作成)実行する」となります。これで毎日一回 シンボリックリンクが更新されて新ファイルが自動的に追加して後はお手軽に使うだけ、、、ってここまで作って振り返るとココまで全然作るのは手軽じゃないよーな。こーいうの目的と手段の取り違えというか、本末転倒っていのうか?と悩んでしまったりしたり( ˘•ω•˘ )


2017年6月27日火曜日

HDDの大量ファイルを利用はするが管理はしない。ファイル活用支援バッチ FileLinkMaker.bat 機能説明(ランダム再生弐型追加)

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使えばこんな検索できますサンプル

検索パス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.bat 1.~6.項目説明

  FileLinkMakerのファイル構成
  FileLinkMaker1.bat BAT本体
  FileLinkMaker1.ini システム設定の定義。初回保存時までユーザ設定も保持。

  FileLinkMaker1.txt ユーザ設定の定義。初回保存時以降に作成。
  FileLinkMaker1.log リンク作成時の動作log。

 "FileLinkMaker.ini"に保存している設定は、主にBAT動作に必要な設定と、ユーザに設定を許していない5.6.項目です。1.~4.項目のユーザ設定は"FileLinkMaker.txt"へと保存します。
これは、"FileLinkMaker1設定シンプル.zip" のINIファイルで"FileLinkMaker.bat"を起動してリンク作成した後の画面です。 s[Enter]とするとユーザ設定の"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スプレッドにコピペで張り付けて編集後、メモ帳に張り付けて保存するとさらにイイカモ。
 とりあえずドキュメント書きはココまでかなー。次はのんびりと機能追加すっか。

2017年6月26日月曜日

HDDの大量ファイルを利用はするが管理はしない。ファイル活用支援バッチ FileLinkMaker.bat

 以前から思っていたのですが、ファイル管理と言うのは悩みの種でした。
日々いつ視聴や利用する宛てもなくHDD領域を占拠していく把握しきれない録画ファイルや画像・音声のファイル。一つのドライブやパソコンのみならず家庭内LANの共有フォルダに分散したファイル。エクスプローラの検索が上手くいかずイライラしたり遅かったり時間かけて諦めたりorz 整理しようとしたらドライブを超えるためにファイルの移動に時間がかかったり。いざ整理しようとすると下手に整理していつの間にか重複ファイルが出来てたり。偏執的にフォルダを切ったためにファイルの場所が不明になったり。過去録画した番組を再録画してHDDの肥やしになったり、クラウドは遅いし無料なのがないし10TB超えてくるとアップロードの手間だけでも、、、ファイル管理は悩みの種でした(T_T)/~~~
 ファイル数が数万とかになってくると個別に整理なんてする気にもならなくて、もう下手にフォルダ分けとかや~めた。と可能な限りフォルダを切らずに1つのフォルダ階層につまりd:\とかの直下に貯めていたのですがいくらエンコードで小さくして保存しているとはいえ保存ドライブが複数になってくと元の木阿弥orz WindowsがDOSからのファイルシステムを引きずっている関係上、どーしようもないのは解ってるんですけどね。
 と言う訳で、ファイルが分散しても利用する段階で目的に応じてまとめ検索可能ならファイルの管理はテキトーでイインジャネ。それならドライブ追加の度にファイルをまとめるのに四苦八苦する事もないだろうし。容量の少ないドライブを1つにまとめられるならそれに越したことはないんだけどね。んで考えてみた。
 1.可能な限り実ファイルはそのまま。
 2.ファイル・フォルダ名をタグのように扱い検索キーとして使う。
 3.気軽に使える早い検索速度を目指す。
 4.検索は複数ドライブ・複数キーを出来るようにする。排他検索できたら吉。
 5.まとめたファイルを参照できるようにする。
 6.まとめたファイルをプレイヤーなどで再生できるように。ランダム再生。順次再生。
 7.アプリ設定はできるだけINIファイルに。
 8.特殊文字を可能な限り回避するため、中間ファイル作成は可能な限りしない。
 9.大まかに条件をまとめて選択切替可能とする。
こんな感じか。
 どんな手法で実現するか考えてくと、ファイル検索は"Dir"だろーなーこれ以上高速検索するコマンド知らんしこねくりまわしてなんとかしてみるか。
 ファイルへのアクセスは以前使ったシンボリックリンク作成"mklink"ってのが使えるんじゃないかと。シンボリックリンクの特性は見た目ショートカットなんだけど、動画プレイヤーのフォルダ指定でショートカットだと認識しないけどシンボリックリンクだと認識したり、リンク移動や削除はただのラベル移動や削除なんだけど、コピーだと実ファイルを置きにきたり。
 ただし欠点はコマンドの入出力の記述がひたすらメンドイ使い勝手の悪さ。そこいらを自動化できればかなりイイかもと妄想。
 "Dir"と"mklink"この二つのコマンドが今回のキーかな。そしてアプリの基本スタンスは「複数フォルダから複数条件でファイル・フォルダを高速検索して、条件に合ったファイルのシンボリックリンクを指定フォルダにまとめて作るアプリ」とした。検索ワードで引っ張りだしてとにかくマトメちまえば、後は煮るなる焼くなりどーとでもw
 で、何とか形になって落ち着いたのだが、、、、
 FileLinkMakerは全てWindows10標準DOSのバッチスクリプトです( ゚Д゚)、、、かなりアレなBATスクリプトになってしまったため、もしかすると他バージョンのWindowsだと正常に動かない可能性があります。後、リンク作成時のBATは「管理者として実行」する必要があります。
 前振りはココまでとして、今回のスクリプトはブログに貼り付けでもよかったのですが、BATとINIファイルでかなりの行数になり、貼り付けミスってコードエラーもありえるので、今回はダウンロードして提供する事にしました。
 しかしフルBATだし、俺以外に使う人いるのか?
FileLinkMaker10170625 ダウンロード

FileLinkMakerの動作的な話
FileLinkMaker.bat動作画面
①「1~6」を設定する。※5.6.は条件選択。
 設定が終わり実行すると以下のような動作をします。
②「5.検索範囲」と「3.出力条件(設定)」で「4.検索パス」を順次検索する。
③ ②でヒットしたファイルのシンボリックリンクを「1.出力パス」「3.出力条件(名)」のフォルダに作成する。。
④ ②が完了すると「2.出力アプリ」にフォルダ情報を渡してファイルを参照できます。

FileLinkMaker注意点
 検索は単一の文字列しか出来ません。複数キーでの検索、つまりDIRコマンドでのワイルドカード的な検索文字は使えませんというか、使ったら検索してくれません。今後の課題ですね、
 FileLinkMaker実行時DOSファイル規約の縛りをそのまま受けます。特に特殊文字や\/:*?<>|! % ; ハンカクテンなどが設定値やファイル名に入っていたら異常動作したりファイルが見つからずリンク作成できないフルDOSのBATでつくったためどーしよーもない欠点があり、そーいうファイルを処理したかったら事前に置換または隔離しておく必要があります。
 またファイルの置き場所にスペースや特殊文字が入ってたらダメとか、もー虐めないでとしか言いようがない( ˘•ω•˘ )
  ファイル名の場合は予めファイル名をチェックして置換しておくしか無いでしょう。チェックと置換作業にはFlexible Renamerが具合よかったです。それ以外の特殊文字は実際にやってみないと解らないようなのもあるわけで、そーいうのはDOSコマンド
>md $ && move * $ && for /f "delims=;" %j in ('dir $\*.* /b /s /a-d') do move "%j" .
とか走らせて$フォルダに残ってるのが特殊文字使用ファイルと判断してフルリネームか隔離するしかないかと。
 後、当然ながらフツーのDOSコマンドで作ったため、セキュリティ的に参照不可的な場所にはアクセスできません。

FileLinkMaker簡単な使用方法
※リンクを出力するフォルダはSSDなど高速読み書きできる場所がイイかもしれません。
①リンクからFileLinkMaker10170625.zipとFileLinkMaker1設定シンプル.zipをダウンロードしてまともなフォルダ名の同じ場所に展開します。 
ダウンロードファイル
FileLinkMaker1.bat ファイルリンクメーカー本体実行batファイル
  FileLinkMaker1.ini ファイルリンクメーカーシステム設定iniファイル。初回保存時まではユーザ設定も保持している。
②とりあえずクリックして実行(右クリックして「管理者として実行」は後でもいいかと。こんな警告が出たら「詳細情報」をクリックしたら「実行」ボタンが出てくるので実行する。気になるならファイル上右クリック「編集」でメモ帳で一度ファイルを開いて「上書き保存」してください。以後出なくなります。
 実行するとこんな画面が出てきます。
「1.出力パス」や「4.検索パス」のパス名は、ログイン名によって変わってくるはずです。一度保存すると情報が確定するので固定されます。
画面上部が項目を、真ん中が詳細、下が操作を表示してます。
 [Enter]を押すと項目の※マークが下に移動し、連動してて画面が切り替わっていきます。[Enter]を高速連打すると異常動作する可能性があるので注意してください。
 保存 s [Enter] してください。FileLinkMaker1.bat と FileLinkMaker1.ini のフォルダに ユーザ設定を保存するFileLinkMaker1.txt が追加されます。FileLinkMaker1.txtやシンボリックリンクの他にFileLinkMaker1が作るファイルはシンボリックリンク作成時のログを保存するFileLinkMaker1.logがあります。
 終了x[Enter]で終了します。FileLinkMaker1.txt を見ると現在のユーザ設定を見る事ができ、慣れたら直接編集とかも可能です。
 FileLinkMaker1.iniは触らないでください。触る場合はFileLinkMaker1.batを十分理解して自己責任でお願いします。
 ※「2.出力アプリ」で設定されてるMassiGraは、高速画像ビュワで画像のあるフォルダを渡せばその中身を高速で表示してくれる優れものフリーソフトです。【DL】

 今度は「管理者として実行」してください。「1.出力パス」「3.検索条件」「4.検索パス」を上記画面設定にしてください。
 数字[Enter]で〇が詳細の指定No.に移動します。
「5.検索範囲」は2か3にしてファイルが入るようにしてください。
 設定が上記画面設定のままなら
 「4.検索パス」 C:\Users\zen\  ※ただし「1.出力パス」1,2,3 を除く
 「5.検索範囲」フォルダとファイル
 「3.検索条件」.jpg .jpe .bmp .png .pdf
 を検索キーとして合致したファイルを
  C:\Users\zen\ファイルリンク\写真\ ※「1.出力パス」「5.検索範囲名」\
 に出力します。
 個人フォルダに意図せず散逸した写真をフォルダ一つで参照できるようにします。
 確認したら ¥[Enter]で処理を開始します。
実行後は画面が多少変化します。3.検索条件:.162は作成したファイルリンク数です。ここで画像ビュワを登録していると @[Enter]で参照できますが、なければp[Enter]してください。Explorerが[1.出力パス]を参照して立ち上がります。
 以上、FileLinkMakerの簡易操作説明でした。以後、詳しい機能説明はページを改めて追加していきたいと思います。まー基本はメニュー見つつ操作していってくれたらいいかも。サンプルのINIも参考にしてください。では(T_T)/~~~

2017年6月25日日曜日

今更な話題。黒くて頑固なDOS窓をポップでクールでキュートに( ˘•ω•˘ )

【窓の杜】またひとつDOS世代のレガシーが消えた…… 古いと言われても「コマンド プロンプト」が好きなんだ!
 なんて誰得な記事がありますが、M社がパワーシェル押しでも台所のヤツみたいにパソコン初心者が恐れる黒い画面はしつこく滅びる事は無いでしょう。パソコン黎明期から存在してる環境ですし。
 ただまぁ、数世代の長い時が経ち、使い手が存在しなくなったら表舞台から姿を消してレジェンダリーな環境になっていくのでしょうか、、、

 頑固爺は爺のまま忘れ去られてフェイドアウトして人々の記憶からなくなるのでしょうか? いやポップでクールでキュートにすれば少しは愛着がワクンジャネ? どっちかっていうと頑固時事だから記憶に残るって気もしなくもないポップにしたら逆に没個性とか。まぁいいか。とりあえず黒くてお堅い画面をなんとかしてみよう。しかも気分次第にイロイロできればなおよろしってなんか頭に何かが沸いてるようなネタに( ˘•ω•˘ )
 ではまず、改造元を作るところから
 Windowsメニューにある「コマンドプロンプト」ショートカットをデスクトップかどこかにコピーしてそのプロパティを変更します。

か、「コマンドプロンプト」が既に無いとい方は上の「窓の杜」記事からDOSを有効にしてください。
 今回は、この中の「画面の色」「フォント」「レイアウト」を使います。

「画面の色」
 一番見栄えに影響があるでしょう。画面の文字と背景を変えて透過にします。
右上ダイアログの名前が変なのは、キャプチャ窓がbatのショートカットから呼び出したからです。変更の内容は一緒なので今回使いました。

「フォント」
 少し大きく太くして見やすく。最近視力が、、、
「レイアウト」
 これは視聴モニターのサイズとかで変わると思います。バランスよいサイズにします。

 以上「画面の色」「フォント」「レイアウト」の変更でこうなります。

透過してなんかイイと思いませんか? 
 まぁ、たとえばレイアウトで画面いっぱい設定してしまえば、実は全面DOS窓で下のウィンドが何故か触れないデスクトップ画面が出来たりと誰得な環境が出来てしまうので使用上の注意して使ってください。(/・ω・)/デワデワ

2017年6月23日金曜日

右クリックメニューを使わずに「管理者として実行」をする。


 最近「管理者として実行」が必要な時に右クリックでの実行をよく忘れて起動し直すことが多くなったので、ショートカットを使い「管理者として実行(デバイスに変更を加える設定)」を楽に出来るようにしてみた。

 やり方はいたって簡単ではあるが、設定場所がぱっと見解りずらいのであまり知られていないかもしれないと妄想。

 ショートカットを作って、「右クリック-プロパティ」で、「ショートカット」タブの「詳細設定」ボタンを押すと、「管理者として実行」のチェックボックスが出る。
これを設定しておけば、クリック一発「管理者として実行」が行われる。
よく忘れる右クリックよりこっちの方が確実でいいなんかなー

2017年6月19日月曜日

BAT実行時のDOS窓が狭くなったので広くした! ( ˘•ω•˘ )ソレダケー

 先日からコツコツ作ってたBATが粗方出来たのはイイんだけど、設定追加しまくったら実行時に上下左右狭くなってしまった。

 見苦しいんでバッチ実行時のDOSを大きくしてみた。
 左上の■をクリックして「プロパティ」選択。

 メイン画面が2560x1440なので、その1/4くらいのサイズにしてみた。 
少しはマシになったかな?
 背景の「大量に貯まったファイルを手軽にユル~く利用」するBATは近日公開のつもりダガ、、、うん(-。-)y-゜゜゜ブッチャケヤリスギタ

2017年6月10日土曜日

PATHへのシンボリックリンク作成コマンド mklink /D

 Windowsネットワークの共有パスにアクセスする方法として
 1-1.ネットワークパス ex. \\192.168.0.7\path
 1-2.ネットワークパス ex. \\test\path
 2.ネットワークドライブの割り当てでネットワークドライブを作る
 それと、あまり一般的ではありませんが
 3.シンボリックリンクを作る

があります。
 実はDOSコマンドの中には「2.ネットワークドライブの割り当て」のからのアクセスだと正しく動作しないDOSコマンドなどがありまして、その場合は「1.ネットワークパス」か「3.シンボリックリンク」なら上手くいく可能性が高いです。 

 ネットワークパスは間違えず入力するだけなので、ここではシンボリックリンクの作り方を説明します。
 ディレクトリのシンボリックリンクを作りたいのでコマンドはこんな感じです。
 MKLINK /D ローカルパス名 共有パス名

 ですが、シンボリックリンクコマンドは普通のDOS窓で実行するとこーなります。
実はMKLINK実行は管理者権限で実行する必要があり、そのためには管理者権限でDOS窓を開く必要があります。Win10ではメニュー選択から右クリック「管理者として実行」を選択すればいいのですが、大抵は「ユーザアカウント制御の設定」メニューが出ます。
 「ユーザアカウント制御の設定」を”通知しない”にすれば確認は出現しなくなるのですが、その場合悪意あるソフトによって何かされても全く気が付かなくなる訳で、”通知しない”設定は絶対しないでください。
自分はいちいちメニューから選択するのも面倒なのでバッチファイルを作って右クリック実行をして、中にあらかじめmklinkコマンドを記述してまして作る際はそれをコピペ実行しています。

dos.bat
@echo off
call cmd /k cd C:\Users\zen\Desktop\セレクト
exit
rem PATHへのリンクコマンド。コピペ実行。環境に応じて書き換えてください。
mklink /d c:\@A a:\
mklink /d c:\@B b:\
mklink /d c:\@M \\zokuga\disc
mklink /d c:\@N \\doga\dvbr
mklink /d c:\@O \\doga\other
mklink /d c:\@R \\zokuga\!rokuga
mklink /d c:\@V c:\!video

バッチファイル中のmklink /dを順次流せばリンクを張ることができます。リンクによるフォルダはショートカットのようではありますが、実フォルダのように取り扱う事ができます。リンクを削除する際はコマンドではなくエクスプローラから確認しながらの削除が安全確実でしょう。 
 ネットワークやローカル区別なくmklink /dによるリンクフォルダを作る事ができ、普通のショートカットのように移動とか名前の変更とかもできます。ただリンク情報だけは変更できないので、リンク先のパスが変わってしまった場合は一度削除して正しいパスで再作成する必要があります。

 ネットワークパス直接よりもシンボリックリンク経由の方がいい理由は、ネットワークパスの共有名が変わってもシンボリックリンクの名前さえ変わらなければ引き続き同じパスでアクセス可能というところです。
 そのためにはシンボリックリンクのパス名はドライブ名みたく出来るだけ簡素にした方がイイんじゃねと思いました。

.BAT実行の敵なばっち~ファイル名の回避、、、、が出来なかったので力業で逃げた記録 (6/10 追記)

 ドライブA:フォルダ無し ファイル数 約三万 フォルダを作らず直下に全て保存
 ドライブB:フォルダ250 ファイル数 約三万 ジャンル別にフォルダを切る
 あとエンコード前ファイルが無節操に詰まったドライブ三つ
 以上、自宅のネットワークに大量に貯まってしまったファイルを手軽にユル~く利用できないか、先日から試行錯誤してあるバッチファイルが形になったのですが、Windows DOSのバッチである関係上ファイル名により処理されない事あり、その回避方法を調べてましたがスマートな解決が出来ず結局力業になってしまったログです。

 なんで今更ながらDOSのBATプログラムを作ろうと思い立ったかと言うと、今回使った機能がDOSコマンドで、大量にファイルを扱う関係上フォルダ検索は軽ければ軽いほどよく、DIRコマンドの検索速度がWindowsエクスプローラーとは比べにならない圧倒的なの検索速度だったからです。ただ如何せんコマンドベースなので使いがってが悪いのが難点したから、その辺りをBATでなんとからなんか試行錯誤してました。

 そのBATプログラム。標準的なファイル名では特に問題なかったのですが、今回特に整理したかったと言うか思い立った原因のファイル群を処理した時に「指定されたファイルが見つかりません。」エラーが頻発しました。
約15000中1000の同様エラーが発生したので調べてみると、ファイル名に使われてた特定の文字が原因とわかりました。 それは ! 感嘆符、% パーセント、 ;セミコロン、 ·てんの四つと下記のような特殊文字を含むファイル名でした。

≡MMD≡ Haku x Luka 。・゚・。.☆ Ð◎ᾔ❝т ℒℯ⊥ ℳε Ð◎ẘη ★゚'  .  '゚ [4KUHD60FPS] [Sub ESP][2560x1440].MP4
≡MMD≡ Miku X IA ・   ・。☆ Åℊε♄α Ḡłøẘ   アゲハグロウ ☆ ゚¨゚[4KUHD60FPS][Sub ENG][3840x2160].MP4

 この時、実際のファイル名とBATからから出てきた名前とに差が出てファイル名が一致せず「ファイルが見つからない」原因となってたみたいです。ちなみに何故か通る外国語文字もある訳でその辺りの違いがイマイチ判らんorz

 まずは ! 感嘆符、% パーセント、 ;セミコロン、 ·てんの四つを半角から全角の!%;・にBATやPowerShellなどのスクリプトでスマートに置換出来ないか考えてみましたが、これらの記号はBATの処理系に関わっているため処理を記述するのが難しいと解っただけでした。 
 結局、これらの文字の置換にはフリーソフトの「Flexible Renamer(窓の杜)」を使って置換する事にしました。
指定もわかりやすくサブフォルダの検索もサポートしてくれてサクッと変換できました。今回は使用しませんでしたが正規表現なども使えるそうです。
 次にDOS窓を開いてファイルの置きパスをカレントにして、下のテストコードを流すと、実際のBATを実行すると「ファイルが見つからない」エラーになるファイルが$フォルダに残ります。※既に$フォルダがあるならmd $ && は除外して実行。
md $ && move * $ && for /f "delims=;" %j in ('dir $\*.* /b /s /a-d') do move "%j" .

 ファイルの場所にバッチファイルを置いてクリック実行させるならこれを記述したバッチファイル$check.batとかを作っておいてください。 *.mp4と指定しているのはそうしないと.batも移動の対象になるため。必要に応じて変更や追加をしてください。
cd %~dp0
md $
move *.mp4 $
for /f "delims=;" %%j in ('dir $\*.* /b /s /a-d') do move "%%j"

 残ったファイルを見ると特殊文字部分を近い形の文字にチマチマと変えないとダメみたいですね。残ったファイルはマトメて置いとくしかないでしょうか、、、、
 ちなみに取り残されたこれらの特殊文字を含むファイルをどんな風にゲツしたファイルかは察してくださいな感じです(;´Д`A ```

 特殊文字ファイル取り扱いが決まったので「大量に貯まったファイルを手軽にユル~く利用」するBATは近日中に公開予定です。




2016年11月8日火曜日

Winパソコンで動画をランダム(シャッフル)再生しよう! (MPC-HC再生サポート のフロントエンドbatファイルの作成) ※修正個所アリ

 お久しぶりです。
 最近は仕事で気力とネタが尽きてまして、ブログを一顧だにせず生活してました。
 が、先日スマホを新しく(アイポンからアンドロ。元々はウィポン)しようとイロイロしてく中で、アンドロな無料ソフトで出来てパソコンでするには難しいか金かかる。な案件が出てきまして、どーも納得できなくて、その実現に試行錯誤してました。

 先日まで60fps再生をイロイロしてましたが、では4kはどうかと、ツベで4K動画を漁ってく中で、最近は特定ジャンルの視聴にハマってしまいまして、どうせ時間を使って再生するなら流し見でも納得したいと試行錯誤してく中で、パソコンでの視聴で不満が爆発してしまいました。
 アニメ本編は基本的に話数に合わせて視聴となるわけですが、ミュージッククリップは再生時間は数分ですが数が多いので視聴や聞き流しは収録順よりもランダム再生をしたくなってきたわけです。

 ですが、ながらな俺としては、再生リストを作成したうえでのランダム再生などメンドイ!
 だいたいファイルはガンガン追加されてくだろうに、いちいち再生リストの作り直しなど手間がかかってしょうがない。
 希望としては
  1.フォルダ指定
  2.フォルダ内検索ワードで絞込リスト作成
  3.絞込リストの連続ランダム(シャッフル)再生。
  4.フルスクリーン
  5.縦合わせ再生
  6.なおかつモニタ指定

 そんな事実現してる動画プレイヤーあるのか? というか、今までさんざんMPC-HC+SVPの組み合わせでイロイロしてたわけで、できればMPC-HCプレイヤーでしてみたいが、、、まぁとりあえずそーいうの実現してるプレイヤーないかググッてみるかと思って探してみましたが、コレといった情報はなく、それどころか現在進行形の怪しいプレイヤー情報が出てきただけ。

 こーなったらまたスクリプトでフロントエンドを作成してMPC-HCにファイル情報呼び出して実現するかな~と、試しにDOSで
> (パス)\mpc-hc.exe /?
と打つと打つとコマンドラインヘルプがウィンドでポップ。それを読むと、、、nanaナナななんだってええええええええええ!


使用方法: mpc-hc.exe "pathname" [switches]

"pathname" 最初のファイルかフォルダが読み込まれる(ワイルドカードの使用可, "-" が標準入力を表す)
    (中略)
/open 自動的に再生を開始せずにファイルを開く
/play      プレーヤーの起動と同時にファイルを再生する
/close 再生終了後にプレーヤーを終了する (/play の使用時のみ有効)
    (中略)
/playnext 再生終了後にフォルダ内の次のファイルを開く
    (中略)
/monitor N  N 番目 (N は 1 から始まる) のモニタで起動する。
/fullscreen  全画面表示モードで起動する
/randomize 再生リストをランダム化する
    (以下略)

これ使ったら希望全部デキルヤ~ンとコマンドぽちっと実行すると

>(パス)\mpc-hc.exe /play /randomize /monitor 2 /fullscreen "(パス)\*tda*.*" 

 はい、あっさり希望機能全部モリモリで再生出来ました。 コマンドラインは基本メニューから使えるハズなんだが、コマンドラインから実行できたいくつかの機能はメニューを漁ってみたが見つける事ができなんだ。 まーいいか、指定がメンドイならあまり使おうって気は起きないから。 手軽に呼び出せるならそっち使うだろーしと、呼び出し方法検討開始。 VBAとかJavaScripsとかHtmlからの呼び出しとかイロイロ考えたけど、今回は機能もシンプルにして全部Batのみキックで実現する事にしました。
 バッチファイルの機能は、フォルダファイル条件を渡してMPC-HCを起動するのみに限定。休日の時間も少ないし、第一メンドクサイのイヤな腐れ元プログラマなエンジニアでした。


 サクッと一時間チョイ試行錯誤して完成。 実行すると22件のフィルタリストの選択を1-9,a-m の22件のキーに割り当てて、mpc-hcを呼び出すバッチファイルの完成。
 最大最大1-9,a-zの35件までいけるけど、多いと選択しの表示で画面がスクロールするんですよね。
 後、多少はグループ名(検索条件)の変更しやすいようにしたつもり。

 mpc-hcにしとけば再生できないファイルはホトンド無いし、これで快適な視聴環境できたわ~って、もうすぐ仕事だorz
 以下実行バッチ。テキストファイルなどに貼り付けてmpc-hc.exeの実行パスや、動画ファイルの場所やフィルタ設定を環境に合わせて保存後、拡張子を.batにしてください。

バッチファイルを実行した様子です。指定フォルダのワード"極"でヒットしたクリップがランダム順番で再生されています。 新しい条件にしたければ、再度バッチをたたけば指定できます。


>修正11/8 意図しない動きがみられたためカウントダウン実行を削除しました。

@echo off
rem ***12016/11/8 MPC-HC再生サポート.bat
rem  MPC-HCに指定した条件のファイルをランダム再生させる。
rem 
rem ***最終コマンド例
rem  start /B /I C:\etc\MPC-HC\mpc-hc.exe /play /randomize /monitor 2 /fullscreen "B:\@yb*.*"
rem 
rem ***使用コマンド解説
rem 
rem mpc-hc.exe 動画プレイヤー フルパス指定。設置場所はファイル命名規約を逸脱しないよう注意。
rem  "pathname" 最初のファイルかフォルダが読み込まれる
rem  /play プレーヤーの起動と同時にファイルを再生する
rem  /randomize 再生リストをランダム化する
rem  /monitor N N 番目 (N は 1 から始まる) のモニタで起動する。ただし無かったり既に起動していたら無効。
rem  /fullscreen 全画面表示モードで起動する 既に起動していたら無効。
rem 
rem START 指定されたプログラムまたはコマンドを実行するためにウィンドウを開きます。 ※最後に使用
rem   /B           新しいウィンドウを作成せずにアプリケーションを起動します。
rem   /I           新しい環境は、現在の環境ではなく、cmd.exe に渡された元の環境になります。


rem ***グループ名(ファイル名)グループ名はDOSの命名規約に依存します。好みで変更してください。追加も可能(最大35個)

SET F1="B:\@yb\*.*"
SET F2="B:\@yb\*mmd杯*.*"
SET F3="B:\@yb\*mmd60fps*.*"
SET F4="B:\@yb\*tda*.*"
SET F5="B:\@yb\*つみ*.*"
SET F6="B:\@yb\*ななみ*.*"
SET F7="B:\@yb\*cat*.*"
SET F8="B:\@yb\*3840*.*"
SET F9="B:\@yb\*60*.*"
SET F10="B:\@yb\*藍様*.*"
SET F11="B:\@yb\*ミク*.*"
SET F12="B:\@yb\*ハク*.*"
SET F13="B:\@yb\*いすず*.*"
SET F14="B:\@yb\*極*.*"
SET F15="B:\@yb\*ダ*.*"
SET F16="B:\@yb\*艦*.*"
SET F17="B:\@yb\*東*.*"
SET F18="B:\@yb\*アン*.*"
SET F19="B:\@yb\*紳*.*"
SET F20="B:\@yb\*乳*.*"
SET F21="B:\@yb\*18*.*"
SET F22="B:\@yb\*sex*.*"


rem ****MPC-HC起動文 好みで変更してください。

SET EXENAME=C:\etc\MPC-HC\mpc-hc.exe /play /randomize /monitor 2 /fullscreen


rem ****メニュー表示 m以下だと強制スクロール 選択を増やす場合追加****
rem  最大は(1-9 a-Z)で35個までOK。※0は除外 記号は不可
rem  追加時は対応するFxx文とchoice /c:1~を増やす必要あり。
rem  後、数を増やすと選択支がスクロールするので、配置に工夫が必要?

echo MPC-HC再生(全画面ランダム)のファイルグループを選択してください。
echo  1. %F1%
echo  2. %F2%
echo  3. %F3%
echo  4. %F4%
echo  5. %F5%
echo  6. %F6%
echo  7. %F7%
echo  8. %F8%
echo  9. %F9%
echo  a. %F10%
echo  b. %F11%
echo  c. %F12%
echo  d. %F13%
echo  e. %F14%
echo  f. %F15%
echo  g. %F16%
echo  h. %F17%
echo  i. %F18%
echo  j. %F19%
echo  k. %F20%
echo  l. %F21%
echo  m. %F22%
choice /c:123456789abcdefghijklm 

rem ****ファイル名分岐****
IF ERRORLEVEL 22 GOTO 22
IF ERRORLEVEL 21 GOTO 21
IF ERRORLEVEL 20 GOTO 20
IF ERRORLEVEL 19 GOTO 19
IF ERRORLEVEL 18 GOTO 18
IF ERRORLEVEL 17 GOTO 17
IF ERRORLEVEL 16 GOTO 16
IF ERRORLEVEL 15 GOTO 15
IF ERRORLEVEL 14 GOTO 14
IF ERRORLEVEL 13 GOTO 13
IF ERRORLEVEL 12 GOTO 12
IF ERRORLEVEL 11 GOTO 11
IF ERRORLEVEL 10 GOTO 10
IF ERRORLEVEL 9 GOTO 9
IF ERRORLEVEL 8 GOTO 8
IF ERRORLEVEL 7 GOTO 7
IF ERRORLEVEL 6 GOTO 6
IF ERRORLEVEL 5 GOTO 5
IF ERRORLEVEL 4 GOTO 4
IF ERRORLEVEL 3 GOTO 3
IF ERRORLEVEL 2 GOTO 2

rem ****ファイル名投入****
SET FILENAME=%F1%
GOTO end

:2
SET FILENAME=%F2%
GOTO end

:3
SET FILENAME=%F3%
GOTO end

:4
SET FILENAME=%F4%
GOTO end

:5
SET FILENAME=%F5%
GOTO end

:6
SET FILENAME=%F6%
GOTO end

:7
SET FILENAME=%F7%
GOTO end

:8
SET FILENAME=%F8%
GOTO end

:9
SET FILENAME=%F9%
GOTO end

:10
SET FILENAME=%F10%
GOTO end

:11
SET FILENAME=%F11%
GOTO end

:12
SET FILENAME=%F12%
GOTO end

:13
SET FILENAME=%F13%
GOTO end

:14
SET FILENAME=%F14%
GOTO end

:15
SET FILENAME=%F15%
GOTO end

:16
SET FILENAME=%F16%
GOTO end

:17
SET FILENAME=%F17%
GOTO end

:18
SET FILENAME=%F18%
GOTO end

:19
SET FILENAME=%F19%
GOTO end

:20
SET FILENAME=%F20%
GOTO end

:21
SET FILENAME=%F21%
GOTO end

:22
SET FILENAME=%F22%
GOTO end


rem ****MPC-HCプレイヤー起動****
:end
cls
start /B /I %EXENAME% %FILENAME%
exit