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

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

Ответить
Настройки темы
CMD/BAT - [решено] Копирование файлов в определенный промежуток времени.

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


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

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


Доброго времени суток! что-то ничего не нашел и решил спросить.

требуется копировать файлы которые появились в промежуток времени например с 12-00 до 16-00.
сейчас я просто копирую за текущую дату:

Код: Выделить весь код
xcopy /s /y /d:%DATE:~3,2%-%DATE:~,2%-%DATE:~6,4% "D:\share\*" "\\192.168.1.1\Test"
Помогите, пожалуйста, реализовать сей алгоритм

Отправлено: 11:22, 26-02-2019

 

Ветеран


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

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


Цитата sec1or:
реализовать сей алгоритм »
запускаете сей код с помощью задачи в планировщике, где и указываете в параметрах нужный временной отрезок.

Отправлено: 13:21, 26-02-2019 | #2



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

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


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


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

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


Этот код скопирует все файлы за текущую дату. Не важно когда его запускать.

Отправлено: 14:05, 26-02-2019 | #3


Ветеран


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

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


да, чего-то не так условие понял
Код: Выделить весь код
@echo off
set "d1=C:\papka1"
set "d2=C:\papka2"
set /a t1=12,t2=16

if not exist "%d2%" md "%d2%"
pushd "%d1%"
 for /f "tokens=1-3*" %%a in ('dir /a-d/tc "*.*"^|findstr/rc:"^[^ ]"') do set "ti=%%b"& call :dt "%%d" "%%a" "%%ti:~0,2%%"
popd
pause& exit

:dt
 if %~2==%date% if %~3 geq %t1% if %~3 leq %t2% >nul copy "%~1" "%d2%\%~1"
exit /b
Это сообщение посчитали полезным следующие участники:

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


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


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

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


Спасибо огромное !

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


Ветеран


Contributor


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

Профиль | Отправить 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


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


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

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


Спасибо огромное !

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


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


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

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


Уважаемые форумчане, помогите, пожалуйста, добавить в этот скрипт еще копирование папок с содержимым
Заранее спасибо !

Отправлено: 12:58, 28-03-2019 | #8


Ветеран


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

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


Цитата sec1or:
копирование папок с содержимым »
т.е. надо папку копировать в папку?
Код: Выделить весь код
xcopy /i "%userprofile%\Documents" "D:\Documents"

Отправлено: 01:41, 29-03-2019 | #9


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


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

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


Да, но только по времени. файлы или папки. как в скриптах которые вы писали выше. там файлы копируются, а надо еще папки добавить.

Отправлено: 04:34, 29-03-2019 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск файлов за определенный промежуток времени ValarMorghulis Скриптовые языки администрирования Windows 1 29-12-2017 15:52
Загрузка - При каждой перезагрузке система откатывается в определенный промежуток времени sven820 Microsoft Windows 7 5 28-10-2017 15:49
VBA - [решено] Выполнение кода через определенный промежуток времени Dark_Timur Программирование и базы данных 2 03-07-2012 00:18
Помогите отключить интернет на короткий промежуток времени! minutka15 AutoIt 6 07-09-2009 10:52
[решено] Повторение кода через промежуток времени sashadeg AutoIt 11 06-05-2009 20:18




 
Переход