バッチファイル

Last-modified: 2014-05-10 (土) 07:41:49

※このページの解説はWindowsユーザを対象にしています。

datファイルとpngファイルからPakファイルを作る

datファイルとpngファイルをmakeobjに読み込ませることで、Pakファイルを生成します。
ただし、makeobjは他のWindowsソフトとは違って、アイコンをダブルクリックしてもウィンドウが一瞬表示されるだけです。
makeobjはコマンドプロンプトかバッチファイルを使ってdatファイルを読み込ませます。

バッチファイルを使ってPakファイルを作る

バッチファイルを作成する

  1. メモ帳を起動します。
  2. 下記の文字列をコピペで貼り付けます。
    makeobj pak ./ ./ > err.txt 2>&1
    (128サイズの場合はこちら)
    makeobj pak128 ./ ./ > err.txt 2>&1
  3. メニューバーの「ファイル」→「名前を付けて保存」を選択します。
    SaveFileDialog.png
  4. Pak化したいpng・datファイルがある場所を選択し、ファイル名を「create.bat」、ファイルの種類を「すべてのファイル (*.*)」にして保存ボタンをクリックします。

batIcon.png
これでバッチファイルができました。

バッチファイルを実際に動かす

では、実際に動かしてみましょう。
上の項で作成したバッチファイルとmakeonj・アドオン化したいdatファイル・pngファイルを同じ場所に置きます。
あとはバッチファイルをダブルクリックすると、pakファイルが作成されます。

バッチファイルの内容を変更する

バッチファイルの内容を変更する場合は、バッチファイルを右クリックして「編集」を選択します。
テキストエディタが起動しますので、あとは普通のテキストファイルのように編集して上書き保存をすればOKです。

バッチファイルコマンドとは

makeobj pak ./ ./ > err.txt 2>&1

ここまで上記のような文字列を使ってきました、ここでこの文字列がどういう意味を持つのかを解説します。

makeonj
Windowsに対してバッチファイルと同じ場所にあるmakeobjを起動しなさいという指示をしています。
pak ./ ./
起動したmakeobjに対してここにあるdatファイル参照してpakファイルを生成しなさいという指示をしています。
> err.txt 2>&1
作業の結果をerr.txtという名前のテキストファイルに書き込みなさいという指示をしています。

このようにバッチファイルは、決められた文字列(コマンド)を組み合わせて、Windowsや起動したアプリ(今回はmakeobj)に指示をすることができます。
また、コマンドプロンプトとは違い、何度も使う指示を予めを設定することや保存しておくことができます。

Windowsに対しての命令は1行につき1つの指示を出すことができます。
コマンドは基本半角文字(1byte文字)で書きます。
大文字と小文字の区別はしません。(どちらで書いても同じ動き方をします)

makeobjのコマンドいろいろ

※ここから先は「> err.txt 2>&1」を省略します。エラー情報をテキストファイルに出力したい場合は、文字列末端に「> err.txt 2>&1」を付けてください。

名前の違うmakeobjを使用するとき

makeobj.exe以外の名前のmakeobjを使用するときは、makeobjコマンドの代わりに拡張子を除くファイル名を記入します。

例:makeobj55-2.exeを使用する場合
makeobj55-2 pak ./ ./

pak pak32 pak96 pak128 pak192 pak256

datファイルからpakファイルを生成します。
64サイズ以外をpakするときには、「pak」の後にサイズを記入します。

例:64pxサイズで作成する場合
makeobj pak ./ ./
もしくは
makeobi pak


例:128pxサイズで作成する場合
makeobj pak128 ./ ./
もしくは
makeobj pak128



以下はpak・datファイル指定の組み合わせサンプルです。

makeobj pak
読み込むdatファイルmakeobjのあるフォルダに存在するすべてのdatファイル
生成するpakファイル個別のpakファイル


makeobj pak AeonSet.pak
読み込むdatファイルmakeobjのあるフォルダに存在するすべてのdatファイル
生成するpakファイルすべてのアドオンを「AeonSet.pak」にまとめて生成


makeobj pak ./ AeonCube.dat
読み込むdatファイルAeonCube.dat
生成するpakファイル個別のpakファイル


makeobj pak AeonSet.pak AeonCube.dat
読み込むdatファイルAeonCube.dat
生成するpakファイルすべてのアドオンを「AeonSet.pak」にまとめて生成


makeobj pak ./ AeonCube.dat ./AeonParking.dat
読み込むdatファイルAeonCube.datとAeonParking.dat
生成するpakファイル個別のpakファイル


makeobj pak AeonSet.pak AeonCube.dat AeonParking.dat
読み込むdatファイルAeonCube.datとAeonParking.dat
生成するpakファイルすべてのアドオンを「AeonSet.pak」にまとめて生成

アドオン製作で使えるコマンド

※以下はSimutransに特化した説明です

rem

行の先頭に「rem」を付けることで、その行はコメント行になります。
注釈を記入する時や、コードを動かしたくないけど残しておきたいときに使えます。

例:
rem 今夜はカレーなので夕方までにジャガイモを買う
rem makeobj pak ./ ./

move

ファイルを移動します。
移動先に同じ名前のファイルがあると上書きされるので注意

例:test.pakをpakフォルダの中に移動
move test.pak D:\Simutrans\pak\test.pak

copy

ファイルをコピーします。
コピー先に同じ名前のファイルがあると上書きされるので注意

例:test.pakをpakフォルダの中にコピー
copy test.pak D:\Simutrans\pak\test.pak

start

アプリケーションを起動します。
省略して直接アプリケーション名を書いても起動しますが、その場合そのアプリケーションが終了するまでコマンドプロンプト画面が出てしまいます。

例:フルパスで起動する場合
start D:\Simutrans\Simutrans.exe


例:相対パスでも起動できます
start Simutrans.exe

set

文字列を変数に保存します。
変数は構文中に %変数名% と書くことで使うことができます。

例:変数を使ってSimutrasnを起動する
set FileName = Simutrans.exe
start %FileName%

pak化から移動、Simutrans起動までを一回でおこなう

rem datファイル名を代入
set DatFileName=Test.dat
rem pakファイル名を代入
set PakFileName=way.Test.pak
rem Simutransフォルダ(フルパス)を代入
set SimutransFolder=D:\Simutrans\
rem makeonjでpak化(64サイズ)
makeobj pak ./%PakFileName% ./%DatFileName% > err.txt 2>&1
rem 作成したpakファイルをアドオンフォルダ(pak)にコピー
copy %PakFileName% %SimutransFolder%pak\
rem Simutransを起動する
start %SimutransFolder%simutrans.exe -singleuser