![]() |
как изменить формат даты в xcopy
Доброго времени суток!
Пишу скрипт для автоматического бэкапирования, а точнее для его инкрементальных копий и столкнулся с такой проблемой: xcopy c:\1 \\remotepc\backup /e/f/v/d:%date% >> c:\log\ilog.txt и вот в чем собственно проблема... Starts 11:30:49,18, 22.10.2015 Недопустимый параметр: /d:22.10.2015 Stop 11:30:49,24 т.к. программа американская, то формат даты там MM-dd-yyy, а если использовать %date% то получается конфликт т.к. формат даты на сервере установлен локальный dd-MM-yyyy З.Ы. формат даты поменять не могу т.к. там крутится база. Если оставить лишь ключ /d без даты, как описано в документации, то вообщем-то должна подтягиваться текущая дата автоматически, но вопреки описанию копируются абсолютно все файлы... |
Код:
set tdate=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4% |
формат даты зависит от установки COUNTRY
|
shugurui,
Цитата:
Код:
xcopy /? | findstr "\/D:" Код:
for /f "tokens=1-3 delims=." %%i in ("%date%") do set "d=%%j-%%i-%%k" |
Цитата:
Цитата:
Код:
set tdate=%DATE:~3,2%-%DATE:~0,2%-%DATE:~6,4% Цитата:
Так что лучше воспользоваться назначением переменной и жить спокойной :) |
Цитата:
|
Цитата:
Вызываем луп для токенов с 1-3 (их всего 3 = мм-дд-гг) и их разделителем в виде "." для переменной %%i(1) в константе %date% назначаем переменную d в которой меняем последовательность токенов %%j(2)-%%i(1)-%%k(3) Также понимаю, что буквы i,j и k в данном случае последовательны по алфавиту и могут быть заменены на "a b c" и т.д. Прошу заранее извинить, т.к. пришел к этим скриптам довольно не давно, и хотел бы понять логику. |
shugurui, В общем вы все правильно поняли. %date% разбивается на части (токены), разделителем которых служит точка, а потом просто меняется их порядок при назначении новой переменной %d%
|
Foreigner, спасибо!
|
robocopy уже советовали использовать?
Код:
/MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date. Код:
>> c:\log\ilog.txt |
Цитата:
Спасибо за совет :) |
Время: 15:44. |
Время: 15:44.
© OSzone.net 2001-