![]() |
bat-скрипт для массового копирования файлов
Уважаемые гуру!
Прошу помощи в написании bat-скрипта для массового копирования файлов. Нужно: - в одной директории находить все файлы с расширением *.txt, созданные за прошлый месяц; - перемещать их в отдельную папку; - в текстовый файл выводить информацию об их количестве и суммарном объёме; - в другой (или этот же, неважно) файл выводить информацию о количестве и суммарном объёме файлов со строкой «строка 1»; - в другой (или этот же, неважно) файл выводить информацию о количестве и суммарном объёме файлов со строкой «строка 2»; - запускать WinRAR на архивацию всех найденных и перемещённых файлов за прошлый месяц с максимальным сжатием; - удалять исходные файлы после архивации файлы; Премного благодарен за ответы! |
Ну, точно задание. По скольким форумам ещё разослали?
|
А что, это разве нарушение правил форума? Или вы уверены, что знающие люди посещают исключительно этот форум и других форумов не существует?
Буду признателен за ответ по существу от настоящих программистов, а не от любителей зубоскальства. Вот, что пока удалось сделать самому: Перемещение всех файлов по дате: Код:
forfiles /M *.txt /D -1 /C "cmd /c move @file c:\123" Перемещение файлов, содержащих нужную строку: Код:
@echo of Полагаюсь на знание специалистов, надеюсь, что такие здесь всё же есть. |
Цитата:
Цитата:
Цитата:
Вычисление и указание интервала дат прошлого месяца с первого числа по последнее Вам проделают более опытные коллеги — у меня аллергия на вычисление дат в пакетных файлах, предпочитаю LogParser, WSH или PowerShell. Цитата:
Код:
dir /b "c:\123\*.txt" | find.exe /v "" /c>>"Out.txt" Код:
for /f "usebackq tokens=3" %%i in (`dir "c:\123\*.txt" ^| find.exe "байт" ^| find.exe "файлов"`) do echo %%i>>"Out.txt" Повторюсь, корректно отобрать файлы с помощью одного только «forfiles.exe» не удастся. Переходите на WSH или PoSH (примерный код Вам набросали в другом месте). |
Время: 01:34. |
Время: 01:34.
© OSzone.net 2001-