バッチ ファイルで発生しているイベントのタイムスタンプを含むログ ファイルを作成しようとしています。
以下のコードからわかるように、バッチ ファイルの作成に関しては、私は専門家ではありません。技術は非常に貧弱ですが、プロセスは正常に機能します。バッチ ファイル自体が削除されないようにするために、読み取り専用に設定しました。ある時点で、バッチ ファイルを除外する方法を考え出します。今のところ、それはそれほど重要ではありません。
@echo off
echo Compressing Files...
echo Compression Batch File STARTED: %date% %time% >> c:\temp\backup-compress.log
echo --------------------------------------------- >> c:\temp\backup-compress.log
for %%X in (*) do (
"c:\Program Files\7-Zip\7z.exe" a -tgzip "%%X.gz" "%%X"
echo %%X Compressed: %date% %time:~-11,8% >> c:\temp\backup-compress.log
echo Deleting: %%X
del "%%X"
echo %%X Deleted: %date% %time:~-11,8% >> c:\temp\backup-compress.log
)
echo Moving compressed copies to Compressed Backups folder...
move *.gz "Compressed Backups\" > NUL
echo --------------------------------------------- >> c:\temp\backup-compress.log
echo Compression Batch File FINSHED: %date% %time% >> c:\temp\backup-compress.log
echo Compression completed successfully...
echo
結果として得られるログ ファイルは、希望どおりに見えますが、タイム スタンプと日付はログ全体で一定のままです。バッチ ファイルでイベントが発生するとタイム スタンプが更新されるのではなく、すべての %time% および %date% インスタンスの代わりに、バッチ ファイルが開始された時刻と日付のみが表示されます。
この問題を修正し、作成中のログ ファイルの正しい時刻と日付のスタンプを表示するにはどうすればよいですか?
PS: この投稿が長くなったことと、簡単に解決できる問題であることをお許しください。また、タグが正しくない場合は、申し訳ありませんが、実際に質問を投稿するのはこれが初めてですが、サイトは常に回答のための優れたリソースでした.