Войти

Показать полную графическую версию : bat файл, резервное копирование


litoo
19-06-2016, 14:51
Помогите написать батник или скрипт на другом языке, для копирования на флешку резервных файлов формата .тхт, имеется много текстовых файлов на рабочем столе и в папках, и их копии на флешке, нужен бат файл который бы копировал изменённые по содержанию тхт файлы на флешку с заменой предыдущих, что бы можно было добавить в планировщик.

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

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

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

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

alpap
19-06-2016, 20:37
Если со структурой, достаточно так:

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

litoo
20-06-2016, 11:03
искренне благодарен, спасибо

alpap
20-06-2016, 19:03
Более полным (правильным) код должен быть таким:

@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
.




© OSzone.net 2001-2012