Поиск файлов через командную строку Windows (один из способов)
Ожидает приглашения
Приветствую, уважаемые участники проекта Habrahabr. Сегодня я хочу рассказать вам как выполнить поиск файлов в интерпретаторе командной строки Windows — cmd.exe. Я не буду вам писать такую команду, как dir или find. Мы сегодня рассмотрим другой, более лучший способ.
Давайте представим такую ситуацию: «Вы начинающий программист, и вам стоит задача: Сделать импорт всех (или некоторых файлов) из определенного каталога. Причем, чтобы можно было искать любые файлы, с любым названием и расширением. При этом импорт должен быть помещен в один файл. С сохранением всех путей файлов, построчно».
Вот как будет выглядеть данный код:
А теперь, давайте разберем, что он делает!
Первая строка кода:
Скрывает все происходящее в командном файле, и параллельно меняет заголовок командной строки.
Вторая строка кода:
Выводит статус операции.
Третья строка кода:
Иницилизация цикла For.
Четвертая строка кода:
Иницилизация цикла If.
Пятая строка кода:
Условие если файл найден.
Восьмая строка кода:
Очистка крана, и вывод конечного сообщения об окончании операции.
Девятая строка кода:
Пауза, перед закрытием пакетного файла и запуск файла с результатами.
Данный bat файл, универсален, удобен в использовании, но есть одно, НО!
Давайте представим такую ситуацию: «Вы начинающий программист, и вам стоит задача: Сделать импорт всех (или некоторых файлов) из определенного каталога. Причем, чтобы можно было искать любые файлы, с любым названием и расширением. При этом импорт должен быть помещен в один файл. С сохранением всех путей файлов, построчно».
Вот как будет выглядеть данный код:
@Echo Off & Title Seacher File
Echo Status oparations: In Progress...
For /R D:\ %%i In (*.doc) Do (
If Exist %%i (
Echo %%i >> D:\Resault.doc
)
)
Cls & Echo Status Oparations: Ended Seacher
Pause & Start D:\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 файл, универсален, удобен в использовании, но есть одно, НО!
Условия поиска нужно вводить вручную, и путь где искать