Pull to refresh

Поиск файлов через командную строку Windows (один из способов)

Приветствую, уважаемые участники проекта Habrahabr. Сегодня я хочу рассказать вам как выполнить поиск файлов в интерпретаторе командной строки Windows — cmd.exe. Я не буду вам писать такую команду, как dir или find. Мы сегодня рассмотрим другой, более лучший способ.

Давайте представим такую ситуацию: «Вы начинающий программист, и вам стоит задача: Сделать импорт всех (или некоторых файлов) из определенного каталога. Причем, чтобы можно было искать любые файлы, с любым названием и расширением. При этом импорт должен быть помещен в один файл. С сохранением всех путей файлов, построчно».

Вот как будет выглядеть данный код:

@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 файл, универсален, удобен в использовании, но есть одно, НО!
Условия поиска нужно вводить вручную, и путь где искать
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.