コマンドプロンプトからLinuxのコマンドを呼んで、modコピーを楽ちんに。

よく分からんコマンドプロンプトからのbatファイルをなんとか便利に書きたいと言う思い。

WoTのmodパック 「Aslain's WoT Modpack」をクリーンインストールしたあとで、別途modファイルをコピーとかインストーラー実行とかしたいのです。
やりたいのは、後半部分の自動化!

コマンドプロンプトのコピーコマンドがめちゃくちゃ貧弱なので、PowerSellでなんとかならんかと思ったのだけど、こっちは経験がないので遙かに難しい。
で、多少なりとも経験のあるLinuxなら何とかなるのでは?と思ったところから始まる。

【WSL入門】第1回 Windows 10標準Linux環境WSLを始めよう:ITの教室 - @IT
>Linuxは、ほぼ通常のディストリビューションが利用でき、各ディストリビューション用のパッケージシステムがそのまま利用できる。
>このWSLを使うことで、Windows 10のコマンドライン環境が「劇的」に強化される。

これ、batコマンドとLinuxコマンドの両方良いところが使えるかも?

あと、最新フォルダ名の取得方法。こちらはコマンドプロンプト用。
最新更新日付のファイルを検出する方法 (DOSプロンプト活用相談室LOG)

で、できたのがこれ。

set gamepath1=C:\Games\World_of_Tanks\mods\
set gamepath2=C:\Games\World_of_Tanks\res_mods\

rem ## mod ##
cd "%gamepath1%"
for /F "tokens=1* delims=" %%a in ('dir /b /O:D %gamepath1%') do set fname=%%a
cd "%fname%"

bash -c "cp /mnt/c/Users/(UID)/Desktop/(対象ファイル)* ."
bash -c "cp -R /mnt/c/Users/(UID)/Desktop/(対象フォルダ) ."


rem ## res_mod ##
cd "%gamepath2%"
for /F "tokens=1* delims=" %%a in ('dir /b /O:D %gamepath2%') do set f2name=%%a
cd "%f2name%"

bash -c "cp -R /mnt/c/Users/(UID)/Desktop/VMC-GuP/(対象フォルダ)* ."

for文のところで、最新のmodのディレクトリを取得して、そこに移動した後、コピーしたいファイルやフォルダをコピーする。
これを(必要ならres_modにも)実行してやれば、手でやってた処理がフォルダ名とか気にせず一括で! (^o^