|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Скрипт который скопирует все файлы измененные в определенный период с каталогами |
|
Любой язык - Скрипт который скопирует все файлы измененные в определенный период с каталогами
|
Новый участник Сообщения: 4 |
Профиль | Отправить PM | Цитировать Добрый день, коллеги, нужна помощь. Нужен скрипт который скопирует все файлы вместе со структурой каталогов, в которых они лежали и именно измененные в определенном диапазоне даты например с 5 февраля 2017г. до 10 октября 2019 года. Папка оригинал очень большого размера около 2 Тб (файлы всякие, от текстовых до видео)
В общем результатом должна быть папка со скопированными файлами этого диапазона и каталогами где они лежали. Спасибо. Всех с 23 Февраля! |
|
Отправлено: 09:56, 23-02-2020 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Боюсь, на большом количестве файлов придётся долго ждать
Дата в системе должна быть настроена как дд.мм.гггг @Echo Off cls Set "Dt1=17.01.2006" Set "Dt2=09.12.2007" Set "BoxIn=D:\CMD_Forum\*.*" Set "BoxOut=Z:\Box_Out" Set /A DDt2=%Dt2:~-4%%Dt2:~3,2%%Dt2:~0,2% Set "OutDir=%Dt1:~-4%.%Dt1:~3,2%.%Dt1:~0,2%_%Dt2:~-4%.%Dt2:~3,2%.%Dt2:~0,2%" FOR /F "usebackq delims=" %%f IN (`2^>nul Xcopy "%BoxIn%" "%Tmp%" /D:%Dt1:~3,2%-%Dt1:~0,2%-%Dt1:~-4% /S /Y /L`) Do Call :Out "%%f" "%BoxOut%\%OutDir%%%~pf" "%%~tf" %DDt2% rem pause Exit /B 0 :Out If %3=="" Exit /B 0 Set "TDt=%~3" Set /A TDt=%TDt:~6,4%%TDt:~3,2%%TDt:~0,2% If %TDt% GTR %4 Exit /B 0 rem Echo %1 >nul Xcopy /Y /D %1 %2 Exit /B |
------- Последний раз редактировалось megaloman, 24-02-2020 в 15:39. Отправлено: 14:16, 24-02-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо большущее, выручили!
Спасибо большущее, выручили! То, что долго ждать придется - это понятно, благодарю! |
Отправлено: 14:43, 24-02-2020 | #3 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать megaloman, Почему то полностью не отрабатывает, заканчивает работу после копирования нескольких вложенных папок? Может из-за русских названий папок или из-за правил безопасности на папки, хотя выполняю под административной учеткой, есть мысли?
|
Отправлено: 16:39, 24-02-2020 | #4 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать ven7,
Цитата ven7:
Вот вариант скрипта с созданием лог-файла рядом с батником с расширением .log. Хотелось бы посмотреть, где скрипт затыкается.
@Echo Off cls Set "Dt1=17.01.2006" Set "Dt2=09.12.2007" Set "BoxIn=D:\CMD_Forum\*.*" Set "BoxOut=D:\Box_Out" Set /A DDt2=%Dt2:~-4%%Dt2:~3,2%%Dt2:~0,2% Set "OutDir=%Dt1:~-4%.%Dt1:~3,2%.%Dt1:~0,2%_%Dt2:~-4%.%Dt2:~3,2%.%Dt2:~0,2%" >%~dpnx0.log 2>&1 (FOR /F "usebackq delims=" %%f IN (`2^>nul Xcopy "%BoxIn%" "%Tmp%" /D:%Dt1:~3,2%-%Dt1:~0,2%-%Dt1:~-4% /S /Y /L`) Do Call :Out "%%f" "%BoxOut%\%OutDir%%%~pf" "%%~tf" %DDt2%) rem pause Exit /B 0 :Out If %3=="" Exit /B 0 Set "TDt=%~3" Set /A TDt=%TDt:~6,4%%TDt:~3,2%%TDt:~0,2% If %TDt% GTR %4 Exit /B 0 Echo ==== Xcopy /Y /D %1 %2 Xcopy /Y /D %1 %2 Exit /B |
||
------- Последний раз редактировалось megaloman, 24-02-2020 в 19:17. Отправлено: 17:03, 24-02-2020 | #5 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Часть из лог файла, там имена каталогов и самих файлов длинные с пробелами с подчеркиванием итп. Две последние строки из лога являются последними, всего строк 1865. Везде скопировано файлов "0"
Скрытый текст
Скопировано файлов: 0.
==== Xcopy /Y /D "E:\Store\1C_Arenda\Sklad metall ceha 23.xls" "d:\store_out\2018.06.01_2019.10.01\Store\1C_Arenda\" Скопировано файлов: 0. ==== Xcopy /Y /D "E:\Store\1C_Arenda\Sklad metall OMTS.xls" "d:\store_out\2018.06.01_2019.10.01\Store\1C_Arenda\" Скопировано файлов: 0. ==== Xcopy /Y /D "E:\Store\Аренда\Регион Развитие\РАЗНОЕ\Сканы объектов\Складской корпус\3 этаж часть 1.pdf" "d:\store_out\2018.06.01_2019.10.01\Store\Аренда\Регион Развитие\РАЗНОЕ\Сканы объектов\Складской корпус\" Скопировано файлов: 0. ==== Xcopy /Y /D "E:\Store\Аренда\Регион Развитие\РАЗНОЕ\Сканы объектов\Складской корпус\3 этаж часть 2.pdf" "d:\store_out\2018.06.01_2019.10.01\Store\Аренда\Регион Развитие\РАЗНОЕ\Сканы объектов\Складской корпус\" Скопировано файлов: 0. ==== Xcopy /Y /D "E:\Store\Аукцион\Регион Развитие\СОТРУДНИКИ\Фамилия\СКАНЫ для Дирекции\Эшелон компания продление.pdf" "d:\store_out\2018.06.01_2019.10.01\StoreАукцион\Регион Развитие\СОТРУДНИКИ\Фамилия\СКАНЫ для Дирекции\" Скопировано файлов: 0. ==== Xcopy /Y /D "E:\Store\Аукцион\Регион Развитие\СОТРУДНИКИ\Фамилия2\Свободные_площади_для_сдачи_в_аренду.xlsx" "d:\store_out\2018.06.01_2019.10.01\Store\Аукцион\Регион Развитие\СОТРУДНИКИ\Фамилия2\" Скопировано файлов: 0. |
Отправлено: 06:13, 25-02-2020 | #6 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
------- Отправлено: 09:30, 25-02-2020 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Скрипт который раскидывает файлы по папкам, с частью имени этих файлов | username-qq | Скриптовые языки администрирования Windows | 6 | 06-10-2018 18:30 | |
CMD/BAT - скрипт который найдет все файлы созданные например за последние 2-3 часа | kot_danila | Скриптовые языки администрирования Windows | 3 | 23-06-2017 12:14 | |
2008 R2 - Как вывести события планировщика которые сработают в определенный период? | obtim | Windows Server 2008/2008 R2 | 0 | 29-09-2014 23:30 | |
CMD/BAT - bat файл который бы запускался на рабочей станции и копировал измененные файлы | dramkos | Скриптовые языки администрирования Windows | 1 | 01-08-2014 05:53 |
|