PiTaPa履歴から利用統計を作るbatファイル 解説(02:バッチファイル生成) | のこはんのブログ

のこはんのブログ

主に京阪電車の写真を撮影しています。
ダイヤ解説もやってます。

前回はこのバッチファイルの核心はどこにあるのかを説明しました。(「if %errorlevel% == 1 (」から「)else (」の部分です)

今回からはそこについて説明します。このバッチファイルは各工程を実行するバッチファイルを作成し、それらを順に実行していく構成です。実行した後に特定の工程をもう一度実行したいときや、それを改造したいときに便利と思ったからです。

 

if %errorlevel% == 1 (

echo 「PiTaPa履歴ver2.bat」を作成中です。

rem    PiTaPa履歴ver2.txtを作成

>>PiTaPa履歴ver2.txt echo @echo off
>>PiTaPa履歴ver2.txt echo setlocal enabledelayedexpansion
>>PiTaPa履歴ver2.txt echo.
>>PiTaPa履歴ver2.txt echo set HidukeL=0
>>PiTaPa履歴ver2.txt echo.

中略

>>PiTaPa履歴ver2.txt echo         echo %%%%A,%%%%B,%%%%C,%%%%D,%%%%E,%%%%F,%%%%G,%%%%H,%%%%I,%%%%J,%%%%K^>^>199999.csv
>>PiTaPa履歴ver2.txt echo     ^)
>>PiTaPa履歴ver2.txt echo ^)
>>PiTaPa履歴ver2.txt echo.
>>PiTaPa履歴ver2.txt echo del *_temp.*
>>PiTaPa履歴ver2.txt echo.
>>PiTaPa履歴ver2.txt echo echo 完了

rem    PiTaPa履歴ver2.txt -> .bat
ren PiTaPa履歴ver2.txt *.bat

echo 「PiTaPa履歴ver2.bat」の作成が完了しました。」

 

中略

 

)else (

 

ここでは「PiTaPa履歴ver2.bat」を作成しています。

echo 「PiTaPa履歴ver2.bat」を作成中です。 (echoコマンドは単体だと、その後ろの文字列がコマンドラインに表示されます)

rem    PiTaPa履歴ver2.txtを作成 (remはコメントアウトで、これがある行は実行しません)

>>PiTaPa履歴ver2.txt echo @echo off 

(「>>PiTaPa履歴ver2.txt 」は追記するファイル名です(「>>」は追記するコマンド、そのファイルがなければ新たに生成)。この行でのechoコマンドは書き込むところが指定されているため、そこに書き込まれ、コマンドラインには表示されません。この場合「PiTaPa履歴ver2.txt」に「@echo off」と追記します。)

>>PiTaPa履歴ver2.txt echo. (何にもない行を表示(追記)するときは「echo.」と入力します。「echo」だと「ECHO は <ON> です。」か「ECHO は <OFF> です。」が表示されます(最初は前者ですが、「@echo off 」と実行すると後者が表示されます)。)

>>PiTaPa履歴ver2.txt echo         echo %%%%A,%%%%B,%%%%C,%%%%D,%%%%E,%%%%F,%%%%G,%%%%H,%%%%I,%%%%J,%%%%K^>^>199999.csv
>>PiTaPa履歴ver2.txt echo     ^)

(「>」、「%」、「)」はコマンドと文字列との区別がつかないので、文字列として入力するときはそれぞれ「^>」、「%%」、「^)」と入力します。)

ren PiTaPa履歴ver2.txt *.bat (ren(RENAME)コマンドはファイル名を変更させます。半角スペースの前が変更前、後ろが変更後の名前です。「*」は対応する部分は変更しないという意味です。つまり、「PiTaPa履歴ver2.txt」から「PiTaPa履歴ver2.bat」になります。)

こんな感じです。たぶん続きます