Копирование файлов с определенными расширениями из разных каталогов в один

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
Копирование файлов с определенными расширениями из разных каталогов в один
Задача скопировать все файлы с определенными расширениями из разных каталогов в один или хотя бы найти и вывести результат в фаил.
Речь про ОС windows.
Пример как найти все внешние обраотки 1С (*.epf) на диске C:/
и сохранить результат: c:\Resault.doc  только потом открывать
word и кодировка DOS выбираем.

Инструкция:
1. сохраняем в фаил с расширением .bat
2. запускаем от имени администратора
3. результат открываем Word - кодировка DOS

Код
@Echo Off & Title Seacher File
Echo Status oparations: In Progress...
For /R C:\ %%i In (*.epf) Do (
    If Exist %%i (
      Echo %%i >> C:\Resault.doc
   )
)
Cls & Echo Status Oparations: Ended Seacher
Pause & Start c:\Resault.doc & Echo On


А теперь, давайте разберем, что он делает!

Первая строка кода:

@Echo Off & Title Seacher File

Скрывает все происходящее в командном файле, и параллельно меняет заголовок командной строки.

Вторая строка кода:

Echo Status oparations: In Progress...

Выводит статус операции.

Третья строка кода:

For /R D:\ %%i In (*.doc) Do (

Иницилизация цикла For.

Четвертая строка кода:

If Exist %%i (

Иницилизация цикла If.

Пятая строка кода:

Echo %%i >> D:\Resault.doc

Условие если файл найден.

Восьмая строка кода:

Cls & Echo Status Oparations: Ended Seacher

Очистка крана, и вывод конечного сообщения об окончании операции.

Девятая строка кода:

Pause & Start D:\Resault.doc & Echo On

Пауза, перед закрытием пакетного файла и запуск файла с результатами.

Выводы

Данный bat файл, универсален, удобен в использовании, но есть одно, НО!
Условия поиска нужно вводить вручную, и путь где искать
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
решение с копированием на примере jpg
Перебирает все папки на локальных дисках и копирует файлы jpg в одну папку.
Самый простой вариант не учитывается что имена файлов могут совпадать.
Код
Код
set to=C:\jpg_ext
set mask=*.jpg
if not exist "%to%" md "%to%"
for /f "skip=1" %%i in ('wmic logicaldisk where drivetype^=3 get name') do call :f1 %%i\
exit
:f1
for /r %1 %%j in (.) do call :f2 "%%j"
exit /b
:f2
set n=%~1
set n=%n:~0,-1%
for /f "delims=" %%i in ('dir "%n%%mask%" /a-d /b') do copy /y "%n%%%i" "%to%\"
exit /b
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
Страницы: 1
Ответить
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Форма ответов
 
Текст сообщения*
:) ;) :D 8-) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.