エバークエストII日本語版 - ログファイル待避。
んー。
今日も徹夜な気がするので先に書いておくことにする。(´Д`)y-~~
ログファイルが肥大化してしまう。
まあこんなのはEQ2自体の機能のほうで対応してくれりゃいいんだけど、EQ2のログファイルって、出力するようにしてると一つのファイルにどんどん追加書きしていくので、気が付いたら40MBとかの開くのも大変な、エラい巨大なファイルになってたりします。…もしかしたら気づいてない機能で対応してるかもしれないけど。( ´−`)
まあ、そこでログ待避バッチファイル。
デカくなってきたら自分でリネームするなどしてやればログファイルの分割は出来るんだけど、すぐ忘れる。(´Д`)y-~~
なので、EQ2を起動する時にログの待避が行われるようなバッチファイルを作ることにした。以下のような感じ。
REM #### ログファイル退避:文字表示無し #### @echo off REM #### EQ2のログファイルがあるディレクトリ(各自変更) #### set LOG_DIR=D:\Program Files (x86)\SquareEnix\EverQuest II\logs\ REM #### リネームして退避させるログファイルのキャラ名(eq2log_Riusou.txtならRiusouの部分。各自変更) #### set CHARA_NAME=Riusou REM #### ログディレクトリに移動 #### for /f "tokens=1 delims=: " %%i in ("%LOG_DIR%") do %%i: cd %LOG_DIR% REM #### 今月、及び今日の日付文字列を生成 #### for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do set today=%%i%%j%%k for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do set thismonth=%%i%%j REM #### 今月の名前のフォルダが無ければ生成 #### if not exist .\%thismonth% mkdir .\%thismonth% REM #### 今月フォルダの中に今日の日付のファイルがまだ無ければファイル移動 #### if not exist .\%thismonth%\eq2log_%CHARA_NAME%_%today%.txt ( move /Y .\eq2log_%CHARA_NAME%.txt .\%thismonth%\eq2log_%CHARA_NAME%_%today%.txt goto ENDBATCH ) ELSE ( REM #### 今日の日付フォルダが既に存在するなら"本日日付_連番"で生成 #### FOR /L %%i IN (2,1,99) DO ( if not exist .\%thismonth%\eq2log_%CHARA_NAME%_%today%_%%i.txt ( move /Y .\eq2log_%CHARA_NAME%.txt .\%thismonth%\eq2log_%CHARA_NAME%_%today%_%%i.txt goto ENDBATCH ) ) REM #### 連番がFORループの最大値を超える場合はエラーメッセージ #### echo ********* 連番ERROR ************************************* echo このバッチで作成できる本日日付連番の最大数を超えました。 echo このバッチファイルを記述しなおして最大数を増加させるか、 echo 手作業でフォルダ構造のコピーを行ってください。 echo 尚、今回のバッチ処理は中断されます。 echo ********* 連番ERROR ************************************* goto ENDBATCH ) REM #### 終了処理。空ファイルを作っておく。#### :ENDBATCH type nul > .\eq2log_%CHARA_NAME%.txt REM #### EQ2起動 #### cd .. EQ2JP.exe