Я использую эту команду в командном файле, чтобы добавить метку времени в файл:
copy C:\1\1.txt C:\1\Log_%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%.%time:~3,2%.%time:~6,2%.txt
Он отлично работает на Windows Server 2008 R2, но не работает на другом устройстве с той же операционной системой (2008 R2).
Я попробовал другой скрипт:
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
copy "C:\1\1.txt" "C:\1\Log_ %stamp%.txt
Он отлично работает на обоих серверах, но разные выходы:
Сервер с проблемой:
Log_ ~0,4-~4,2-~6,2_~8,2-~10,2-~12,2.txt
Другой сервер:
Log_ 2017-06-04_12-50-07.txt