Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - как изменить формат даты в xcopy

Ответить
Настройки темы
CMD/BAT - как изменить формат даты в xcopy

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток!

Пишу скрипт для автоматического бэкапирования, а точнее для его инкрементальных копий и столкнулся с такой проблемой:

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 без даты, как описано в документации, то вообщем-то должна подтягиваться текущая дата автоматически, но вопреки описанию копируются абсолютно все файлы...

-------
все бывает в первый раз, главное не забывать, что первый раз уже был!


Отправлено: 11:35, 22-10-2015

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
set tdate=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%
xcopy c:\1 \\remotepc\backup /e/f/v/d:%tdate% >> c:\log\ilog.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:58, 22-10-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 76
Благодарности: 0

Профиль | Отправить PM | Цитировать


формат даты зависит от установки COUNTRY

Отправлено: 12:01, 22-10-2015 | #3


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


shugurui,
Цитата shugurui:
Недопустимый параметр: /d:22.10.2015 »
Ни о чем не намекает?
Код: Выделить весь код
xcopy /? | findstr "\/D:"
/D:м-д-г     Копирует файлы, измененные не ранее указанной даты.
Измените:
Код: Выделить весь код
for /f "tokens=1-3 delims=." %%i in ("%date%") do set "d=%%j-%%i-%%k"
xcopy c:\1 \\remotepc\backup /e/f/v/d:%d% >> c:\log\ilog.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:02, 22-10-2015 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Ниочем не намекает?
Код:
xcopy /? | findstr "\/D:"
/D:м-д-г Копирует файлы, измененные не ранее указанной даты. »
Говорит, по этому и спрашиваю, как можно это сделать так, чтоб это было автоматически, а не каждый раз добавлять дату вручную.

Цитата Elven:
Код:
set tdate=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%
xcopy c:\1 \\remotepc\backup /e/f/v/d:%tdate% >> c:\log\ilog.txt »
Спасибо! только я поменял местами месяц и день и все заработало как часики:
Код: Выделить весь код
set tdate=%DATE:~3,2%-%DATE:~0,2%-%DATE:~6,4%
xcopy c:\1 \\remotepc\backup /e/f/v/d:%tdate% >> c:\log\ilog.txt
Цитата Graf_de_Sivale:
формат даты зависит от установки COUNTRY »
Согласен, но изменение таких параметров может повлечь неожиданные последствия...
Так что лучше воспользоваться назначением переменной и жить спокойной

-------
все бывает в первый раз, главное не забывать, что первый раз уже был!


Отправлено: 12:25, 22-10-2015 | #5


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата shugurui:
только я поменял местами месяц и день »
Пардон, результат невнимательности.

Отправлено: 12:34, 22-10-2015 | #6


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
for /f "tokens=1-3 delims=." %%i in ("%date%") do set "d=%%j-%%i-%%k" »
буду благодарен за разъяснение или подтверждение моих соображений по поводу этого кода:
Вызываем луп для токенов с 1-3 (их всего 3 = мм-дд-гг) и их разделителем в виде "."
для переменной %%i(1) в константе %date% назначаем переменную d в которой меняем последовательность токенов %%j(2)-%%i(1)-%%k(3)
Также понимаю, что буквы i,j и k в данном случае последовательны по алфавиту и могут быть заменены на "a b c" и т.д.
Прошу заранее извинить, т.к. пришел к этим скриптам довольно не давно, и хотел бы понять логику.

-------
все бывает в первый раз, главное не забывать, что первый раз уже был!


Отправлено: 13:25, 22-10-2015 | #7


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


shugurui, В общем вы все правильно поняли. %date% разбивается на части (токены), разделителем которых служит точка, а потом просто меняется их порядок при назначении новой переменной %d%

Отправлено: 13:31, 22-10-2015 | #8


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Foreigner, спасибо!

-------
все бывает в первый раз, главное не забывать, что первый раз уже был!


Отправлено: 13:38, 22-10-2015 | #9


Ветеран


Сообщения: 547
Благодарности: 36

Профиль | Сайт | Отправить PM | Цитировать


robocopy уже советовали использовать?

Код: Выделить весь код
          /MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date.
          /MINAGE:n :: MINimum file AGE - exclude files newer than n days/date.
          /MAXLAD:n :: MAXimum Last Access Date - exclude files unused since n.
          /MINLAD:n :: MINimum Last Access Date - exclude files used since n.
                       (If n < 1900 then n = n days, else n = YYYYMMDD date).
Код: Выделить весь код
>> c:\log\ilog.txt
не будет содержать ошибки.

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 11:05, 25-10-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - как изменить формат даты в xcopy

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MySQL - запрос чтобы изменить формат даты в файле kontox Программирование и базы данных 4 01-10-2014 19:57
[решено] Как переключить с краткого на полный формат даты skreytons4 Хочу все знать 5 13-10-2012 17:12
Интерфейс - Слетает формат даты в системе. bombording Microsoft Windows 7 1 01-08-2011 16:39
как изменить формат звука в фильме? Awejk Видео и аудио: обработка и кодирование 8 25-12-2004 04:43
Формат даты khvalera Программирование и базы данных 2 16-06-2004 11:31




 
Переход