Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


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

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


shadowjkee,
Цитата shadowjkee:
c Сервера А" нужно копировать файлы на "Сервер Б", »
то есть, как я понимаю, в ответе должно получиться, что на "Сервере Б" должны содержаться все файлы, что на "Сервере A", за исключением файлов за сегодняшний день. Вот вариант, который это делает:
Копирует все файлы по указанной маске, но при этом:
1. Не копируется файл с именем сегодняшнего дня.
2. Не копируются файлы, уже имеющиеся на "Сервере Б". При ежедневном копировании в норме будут копироваться только файлы вчерашнего дня.
Предполагается, что дата в системе отображается в виде дд.мм.гггг

Для каждой папки вызовите в батнике процедуру :Copir
Код: Выделить весь код
@Echo Off

Set "Maska=20??????.log"
Set "ToDayFile=%Date:~6,4%%Date:~3,2%%Date:~0,2%.log"

Call :Copir "Z:\Box_In\папка 1" "Z:\Box_Out\папка 1" 
Call :Copir "Z:\Box_In\папка 2" "Z:\Box_Out\папка 2" 

GoTo :Eof

:Copir
	For %%f IN ("%~1\%Maska%") DO (
		If Not "%%~nxf"=="%ToDayFile%" If Not Exist "%~2\%%~nxf" (
			Copy "%%f" "%~2\" >nul
		)
	)
GoTo :Eof

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 11-09-2017 в 15:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:33, 11-09-2017 | #4