夜間バックアップと言うことで、この部分に問題が有ります。
log_%DATE:~-10,4%%DATE:~-5,2%%DATE:~-2%
例えば
2017/07/31 11:59:59 に log_%DATE:~-10,4%%DATE:~-5,2%
が 実行されると
log_201707 になりますが、引き続き
2017/08/01 00:00:00 に残りの %DATE:~-2%
が 実行されると
log_20170701 になってしまいます。
というわけで
set YYYYMMDD=%DATE%
log_%YYYYMMDD:~-10,4%%YYYYMMDD:~-5,2%%YYYYMMDD:~-2%.txt
か
log_%DATE:/=%.txt
の方が比較的安全です。
既に「kovoler」さんが補足されていますが、似たような情報が@ITにもあるので参考にしてください。
私は @IT の情報を基に日付と時間を固定するだけの専用 bat を用意して利用しています。
長時間にわたる複数の robocopy の bat を Call して実行する時に、最初の1度だけ日時設定 bat を実行して、以降はその設定した日時をlogファイルなどに利用しています。そうする事で最初の実行時の日時で robocopy bat のログの日時が固定されるため、後からチェックする際にわかりやすくなります。
Tech TIPS:Windowsのバッチファイル中で日付をファイル名に使用する (1/2) - @IT
http://www.atmarkit.co.jp/ait/articles/0405/01/news002.html