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

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

Ветеран


Contributor


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

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


До кучи
Код: Выделить весь код
@Echo Off
cls
	Set "BoxIn=D:\share"
	Set "Mask=*.*"
	Set "BoxOut=\\192.168.1.1\Test"

	Set "T1=9:30"
	Set "T2=17:45"
	Set "Delim=:"

	Call :MyTime %T1% %Delim% "TT1"
	Call :MyTime %T2% %Delim% "TT2"

	Pushd "%BoxIn%"
	FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D`) DO Call :CopyTime "%%i" "%BoxOut%" %TT1% %TT2% %Delim% %%~ti
	Popd
pause
Exit /B 0

:MyTime
SetLocal
	Set "T=%~1"
	Call Set "T=00%%T:%Delim%=%%"
EndLocal &Set /A %~3=1%T:~-4%
Exit /B %ErrorLevel%

:CopyTime
	If Not "%Date%"=="%6" Exit /B 0
	Call :MyTime %7 %5 "T"
	If %T% LSS %3 Exit /B 0
	If %T% GTR %4 Exit /B 0
	>nul Xcopy /Y /D %1 "%~2\" 
Exit /B %ErrorLevel%
Выделенная строка ограничивает копирование только сегодняшним днём. Если надо за все дни, эту строку удалить. Применил XCopy /D, чтобы исключить повторное копирование

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


Последний раз редактировалось megaloman, 26-02-2019 в 15:29.

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

Отправлено: 15:17, 26-02-2019 | #6