syntaxhighlighterとの戦いも終えたので投稿再開.
でもjavaじゃない(・ω・`)
とあるミッションで
「行動のログを時間つきでとっとけ」
ということがあったので, 早速そんなbatをつくってみた.
とあるミッションで
「行動のログを時間つきでとっとけ」
ということがあったので, 早速そんなbatをつくってみた.
@ECHO OFF For /F "eol=;tokens=1,2,3,4*delims=/, " %%i in ('date /t') DO SET YYYYMMDD=%%i%%j%%k For /F "eol=;tokens=1,2,3*delims=:, " %%i in ('time /t') DO SET HHMM=%%i%%j set YYYYMMDDHHMM=%YYYYMMDD%%HHMM% echo 終了するときは"fin"と入力してください setlocal enabledelayedexpansion For /L %%o in (0,0,5) do ( set /p INP="メッセージを入力してください>" if !INP!==fin ( echo !INP!により終了! exit ) set message=!date! !time! !INP! echo !message! >>record/%YYYYMMDDHHMM%.txt )
正直2,3行目は参考サイト参照. ほぼコピペ('A`)
やってることは, ファイル名に日付 + 時刻を用いるための処理. これでうまく出てくれた.
6行目からが本体.
7行目はお決まりの宣言(らしい). これを宣言すると, 変数の値の上書きが出来るようになる(詳しい話があった気がする).
8行目からループ開始. /Lは前にも書いた単純ループ. 変数"o"が0から5の間0刻みで進む(=進まない)
9行目でメッセージを入力待ち.
10行目の"!INP!"が肝. 通常"%INP%"で読み込むところを"!"でくくることで, "INP"の内容をループの間上書きして読み込んでくれる. ここで"fin"と書き込まれたらif内へ. "exit"で終了する.
12,13行目はメッセージの設定. 書き込まれた内容に日付と時刻を足してファイルに出力している.
これを繰り返した出力結果の例
2012/09/19 19:14:15.33 test 2012/09/19 19:14:18.13 (・ω・`) 2012/09/19 19:14:34.85 20120919
入力がコマンドプロンプトでちょっと使いにくいのが難点(´-`). でもミッションでは有効だったから満足.
0 件のコメント:
コメントを投稿