![]() |
Как правильно сделать батник?
Здравствуйте.
Есть батник с такой задачей "D:\Program Files (x86)\WinRAR\WinRAR.exe" a -r -agYYYY-mm-dd_hh-mm-ss -u -rr8 -y H:\1c_backup\backup-.rar H:\1C_BASES\safonova\*.* copy H:\1c_backup\*.rar \\192.168.1.67\backup\ он архивирует базу данных 1с и ложит ее рядом в каталог 1c_backup и отправляет копию на сосднюю машину. Сейчас все копии копируются на соседнюю машину *.rar, как сделать, чтобы только последний архив копировался? Архив имеет такой вид backup-2019-10-23_19-36-22.rar |
blazer-05, Если на сервере и на соседней машине должен быть одинаковый набор копий, то будет копироваться только отсутствующие или более свежие файлы
Код:
Код:
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:-D /O:D "H:\1c_backup\*.rar"`) DO Set "File=%%f" |
Все получилось, работает как нужно, спасибо огромное!
Подскажите еще пожалуйста, я сделал для другой машины аналогичный батник, который отправляет архив на фтп сервер с таким кодом. Код:
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -r -agYYYY-mm-dd_hh-mm-ss -u -rr8 -y D:\backup\backup-.rar D:\1C_BASES\safonova\*.* open ip севера user blazer-05 mypassword binary quote PASV send D:\backup\backup-2019-10-23_16-03-15.rar quit все работает нормально, но как сюда передать этот последний созданный архив, чтобы на фтп тоже отправлялся этот же последний созданный архив? сейчас отправляется только если явно указать ему имя файла backup-2019-10-23_16-03-15.rar |
blazer-05, Не проверял досконально:
Код:
@Echo Off |
Похоже, что эта строка лишняя
Код:
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -r -agYYYY-mm-dd_hh-mm-ss -u -rr8 -y %BoxArc%\backup-.rar "%FileIn%" Я правильно понимаю, что теперь файл ftp.txt не нужен т.к. все настройки фтп сервера в одном батнике? |
Цитата:
Цитата:
После работы батника можете его ручками открыть и посмотреть, что там внутри. Кстати, его можно, в принципе, в батнике же и убить после отработки ftp. Код:
Del "%Fftp%" |
насчет фтп понятно.
По поводу той строки, тогда почему он делает два архива т.е. подряд сразу два. Когда ее закомментировал, то все нормально отрабатывает один раз. |
Цитата:
Ваша строка делает один архив с одним именем, моя строка делает другой с другим именем - в именах архива Вы задействовали секунды, соответственно, и архивы различаются по времени в именах. Надо оставить одну строку с архивированием, имхо, лучше мою, дважды делать архив с разницей в малое время не стОит. |
Цитата:
Но все же, когда я закоментировал вашу строку данный скрипт работал нормально в каждом архиве имя его было разным т.е. время отличалось и так же все отправлялось во всех направлениях. Спасибо вам огромное за помощь! |
blazer-05, если Вы сегодня запустите сто раз батник, сто раз создадутся архивыс разным временем в имени, сто раз отправятся на фтп, и не важно, чья строка с архиаатором останется - всегда будет отправляться последний сделанный файл.
Если в одном батнике два раза последовательно делается архив, отправится последний по времени. |
megaloman, спасибо я понял.
|
Время: 20:35. |
Время: 20:35.
© OSzone.net 2001-