エバークエストII日本語版 - ログファイル待避。

エバークエスト 2

んー。

今日も徹夜な気がするので先に書いておくことにする。(´Д`)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

注意事項。

EQ2インストールディレクトリの下にあるlogsディレクトリにログファイルが出来ることを前提とした作りになってます。
あと、複数キャラ分のログ待避には対応してません。
logディレクトリ直下に当月のフォルダを作成し、当日の日付(+連番)でラグファイルを待避。その後EQ2を起動。そんなバッチファイルです。参考程度にどうぞ。
使って変な風になっても責任は持ちませんので、使うときは各自十分にテストして自己責任でお使い下さい。