バッチファイル 2つのログに出力 短縮版
お世話になっております。
WindowsXP環境にて下記のバッチファイルがあります。
コード--------------------------------------------------------------------------------
rem === 変数設定 ===============================================================
rem --- 時間変数 ---
set yyyy=%date:~-10,2%
set yy=%date:~-8,2%
set mm=%date:~-5,2%
set dd=%date:~-2,2%
set HH=%TIME:~0,2%
set MM2=%TIME:~3,2%
set SS=%TIME:~6,2%
rem --- フォルダ変数 ---
set LOG_DIR1=D:\test
rem --- ファイル変数 ---
set LOG_FILE1=LOG.txt
set LOG_FILE2=LOG_ALL.txt
set LOG_FILENAME1=%LOG_DIR1%\%LOG_FILE1%
set LOG_FILENAME2=%LOG_DIR1%\%LOG_FILE2%
set BAT_FILE1=test.bat
rem コマンド拡張機能有効化
setlocal ENABLEEXTENSIONS
rem === 変数設定 ===============================================================
REM <開始処理>===============
call :TIME
echo %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理開始時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME1%
echo. >> %LOG_FILENAME1%
echo %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理開始時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME2%
echo. >> %LOG_FILENAME2%
rem 現在の日付/時間を取得
:TIME
set yyyy=%date:~-10,2%
set yy=%date:~-8,2%
set mm=%date:~-5,2%
set dd=%date:~-2,2%
set HH=%TIME:~0,2%
set MM2=%TIME:~3,2%
set SS=%TIME:~6,2%
exit /b
コード--------------------------------------------------------------------------------
上記プログラムは日付を2つのログに出力していますが、
echo %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理開始時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME1%
echo. >> %LOG_FILENAME1%
echo %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理開始時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME2%
echo. >> %LOG_FILENAME2%
と二重になっている無駄なコードとなり、見栄えが良くないです。
これを1つのコードで2つのログファイルに出力可能な短縮プログラムは可能でしょうか?
ご存知の方がいましたら、ご教授願いますでしょうか?
何卒宜しくお願い致します。
お礼
自己解決しました。 バッチのファイル名をping.batにしていたのが原因みたいです。 お恥ずかしい限りです。 http://www.confrage.com/dos/batch/same-name/same-name.html
補足
回答ありがとうございます。 @echo on ping -w 1 -n 1 localhost ↑これだけで実行してみましたが結果は↓これが延々と表示されます。 C:\Documents and Settings\Administrator.JKAN1\デスクトップ>ping -w 1 -n 1 localhost 試しにCドライブ直下でも実行してみましたが結果は同じでした。