В качестве альтернативы, если вы не хотите использовать стороннее программное обеспечение, вы действительно можете сделать это из командной строки.
Работать с именами каталогов, в которых есть пробел, например, C:\Program Files довольно сложно, поэтому в Windows 7 у меня получилось:
@echo off
for /f "tokens=*" %%A in ('dir /b /ad C:\') do (
if "C:\%%A"==%2 (
echo Not scanning %2
) else (
dir /s /b "C:\%%A\%1"
)
)
Использование: file.bat file_to_be_searched.extension "C:\directory\not\to\search"
Обратите внимание на "" в каталоге, вы должны использовать его для работы скрипта.
Что это делает: Для каждой строки (всех символов) вывода команды dir /b /ad C:\ , которая перечисляет каталоги в C:\ , выполните:
Если C:\directory - это your_directory , не сканируйте его. Иначе, ищите файл, который вы указали в нем.
Пример (я назвал search.bat и поместил файл с именем a.txt в C:\Program Files)
C:\Users\XXXX\Desktop>search.bat a.txt "C:\Windows"
File Not Found
File Not Found
File Not Found
File Not Found
File Not Found
C:\Program Files\a.txt
File Not Found
File Not Found
File Not Found
File Not Found
File Not Found
Not scanning "C:\Windows"
Вы можете адаптировать скрипт так, чтобы он не осуществлял поиск в нескольких каталогах, добавляя больше операторов if .
PS: я забыл упомянуть, это будет искать только в папке root, то есть C:\ . Если вы хотите искать папки в другом месте, вам придется адаптировать скрипт. Приветствия.