1
週ごとのバックアップを作成するためのバッチファイルがあります。私は出力フォルダをフォーマットし、ログをエコーするために使用する変数mydateを作成します。私は、ログファイルにリダイレクトされ、各ラインでのバッチを実行すると、それが正常に動作します:Windowsのバッチファイルで変数が出力されない
set mydate=%date:~10,4%-%date:~4,2%-%date:~7,2%
echo My Date is %mydate% >>TestEchoLog.txt
echo Backup triggered at %mydate% >>TestEchoLog.txt
Cmdをウィンドウ:
D:\>set mydate=2017-06-26
D:\>echo My Date is 2017-06-26 1>>TestEchoLog.txt
D:\>echo Backup triggered at 2017-06-26 1>>TestEchoLog.txt
TestEchoLog.txt:
My Date is 2017-06-26
Backup triggered at 2017-06-26
しかし、私の場合コマンドを単一のリダイレクトにラップすると、私の変数は動作を停止します:
>>TestEchoLog.txt (
set mydate=%date:~10,4%-%date:~4,2%-%date:~7,2%
echo My Date is %mydate%
echo Backup triggered at %mydate%
Cmdをウィンドウ:
D:\>(
set mydate=2017-06-26
echo My Date is
echo Backup triggered at
) 1>>TestEchoLog.txt
TestEchoLog.txt:
My Date is
Backup triggered at
私はこれをどのように修正することができますか?明らかに回避策は、すべての行にリダイレクトするだけですが、むしろそうではないほど長い命令セットです。
ありがとうございます!
[遅れ拡張](http://ss64.com/nt/delayedexpansion.html)をチェックしてください... – aschipfl