Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   bat файл, резервное копирование (http://forum.oszone.net/showthread.php?t=316010)

litoo 19-06-2016 14:51 2643971

bat файл, резервное копирование
 
Помогите написать батник или скрипт на другом языке, для копирования на флешку резервных файлов формата .тхт, имеется много текстовых файлов на рабочем столе и в папках, и их копии на флешке, нужен бат файл который бы копировал изменённые по содержанию тхт файлы на флешку с заменой предыдущих, что бы можно было добавить в планировщик.

alpap 19-06-2016 16:49 2643997

Я правильно понимаю задачу?
Надо проверить все файлы на
- фелшке
- рабочем столе
- в папках (здесь не ясно, где папки, на рабочем столе или нет?)
найти файлы с одинаковыми именами и брать из них последний по дате изменения или
брать определенные (в определенном месте) файлы за эталон по содержанию и сравнивать по очереди с файлами, расположенными в других местах на предмет различия содержимого, а именно его стало больше или просто не равно эталону?

litoo 19-06-2016 18:09 2644014

правильно
проверить файлы на флешке и на рабочем столе, они все имеют одноимённые названия и на р. столе и на флешке, на рабочем столе есть 1 папка которая является главным каталогом с названием "work" в ней находятся подкаталоги - папки содержащие тхт файлы по соответствующим категориям

work - house - штатное расписание.тхт, план уборки помещения.тхт, хозяйственная книга.тхт и т.д.
work - office - журнал событий.тхт, кадровые изменения.тхт

Цитата:

найти файлы с одинаковыми именами и брать из них последний по дате изменения
- и копировать на флешку если файл на рабочем столе имеет более свежую дату изменения чем на флешке

alpap 19-06-2016 20:37 2644034

Если со структурой, достаточно так:
Код:

@echo off
xcopy/edy "%Userprofile%\Desktop\work\*.txt" "F:\work\"
exit

.

litoo 20-06-2016 11:03 2644144

искренне благодарен, спасибо

alpap 20-06-2016 19:03 2644321

Более полным (правильным) код должен быть таким:
Код:

@echo off
2>nul wmic path Win32_LogicalDisk where ^(drivetype="2" and mediatype=null^) get name|more +1|set/p n=^& cmd/v/c if exist !n! xcopy/edy "%Userprofile%\Desktop\work\*.txt" "!n: =!\work\"
exit

.


Время: 19:03.

Время: 19:03.
© OSzone.net 2001-