memo

ゲーム制作やデザインについての個人的メモ

【ティラノスクリプト】画像ファイルを一括で取得するバッチファイル(Windows専用)

以前こちらの記事で解説したファイル名一括取得方法の件です。
7yen.hateblo.jp

この作業ってゲームが完成して最後にやるものなので個人的には上記の方法でまったく問題ないのですが、せっかくちょろっとコマンドプロンプトに触れたりしたのでバッチファイルのつくり方も勉強してみました。

バッチファイルってあれです。面倒な処理をクリックひとつ(正確にはダブルクリック)でやってくれる便利なあれです。
バッチファイル - Wikipedia

ちなみに、ティラノスクリプトに関してはすでにファイル名取得のためのバッチファイルを他の方が公開されています。

画像ファイルの配列を自動で作成する - なると!なるほど日記
ティラノ用、画像ファイルの配列を自動で作成する(Windows版) - たまごネコは夢を見る

色んなやり方がありますね~。

今回は自分で使うものなので自分が使いやすいようにしました。
具体的には、ティラノスクリプトのプロジェクトフォルダに置いてダブルクリックするだけでサブフォルダも含めたすべての画像ファイル(拡張子が.jpgと.pngのもの)のリストを[preload]タグで使える配列の状態にしてテキストファイルに出力できるバッチファイルを目指しました。長い。

で、できあがったものがこちらです。

@echo off

if exist tmp.txt del tmp.txt
if exist list.txt del list.txt

cd /d %~dp0

dir *.jpg *.png /b /s > tmp.txt

setlocal enabledelayedexpansion

for /f "delims=" %%a in (tmp.txt) do (
  set line=%%a
  set line=!line:%~dp0="!
  set line=!line:\=/!
  set line=!line:.jpg=.jpg",!
  set line=!line:.png=.png",!
  echo !line! >> list.txt
)

del tmp.txt
 
endlocal

参考にさせていただきました:ファイル内の文字列を置換する

※いつもの通り、ご利用は自己責任でお願いしますー。

メモ帳とかにコピペして拡張子を.batで保存してティラノスクリプトのプロジェクトフォルダ(index.htmlが置いてあるところ)に置いてダブルクリックすればlist.txtというファイルができているはずです。

f:id:onigirimgmg:20180202060908p:plain
f:id:onigirimgmg:20180202060917p:plain

tyranoフォルダ内の画像も取得できてますね。

完全な余談
コマンドプロンプトいじるまでWindowsのパスの区切りがバックスラッシュだと気づかなかった(というか気にしたことがなかった)。ティラノはHTML5製なのでスラッシュでいいんだよ、ね……?(その程度の知識……)