Как выполнить поиск определенного файла с помощью пакетного поиска

Как выполнить поиск определенного файла с помощью пакетного поиска

Я хочу создать пакет и мне нужно найти определенный файл, возможно ли его найти? Это должна быть команда, которая просматривает все диски, пока не найдет файл, я хочу, чтобы он был доступен для всех.

Например, я хочу найти «FarCry4.exe», мне нужно, чтобы он был универсальным для других людей, потому что у некоторых людей Far Cry 4 может быть установлен не в каталоге по умолчанию, как у меня.

Я попробовал findstr /x /c:"FarCry4" *.exe, но после завершения он просто сообщает мне, что его невозможно открыть, а затем автоматически закрывается.

Возможно ли это с помощью findstrкоманды, или пользователю придется поменять свой путь с моим?

решение1

Возможно ли это с помощью команды findstr?

FindStr "Ищет строки в файлах" (см. findstr /?). Так что ваша команда ищет строку "FarCry4" ВНУТРИ всех EXE-файлов, она не имеет никакого отношения к именам файлов.

Например, я хочу найти «FarCry4.exe», мне нужно, чтобы он был универсальным для других людей, поскольку у некоторых людей Far Cry 4 может быть установлен не в каталоге по умолчанию.

Вы можете использовать dirэту /sопцию для поиска во всех подкаталогах текущего.

Перейдите в корень диска (т.е. c:\) и выполните следующее:

dir FarCry4.exe /s /b 2>null

Вам нужно будет выполнить это для каждого диска в системе, на котором вы хотите выполнить поиск.

Это /bприведет к «голому» выводу, то есть не будет никаких заголовков, а каждый из найденных файлов будет включать свой полный путь.

Запустите dir /?для получения дополнительной информации о параметрах Dir, и это 2>nullприведет к тому, что ошибки, сообщаемые Dir (отказано в доступе, слишком длинный путь и т. д.), будут перенаправлены наНулевойвместо экрана.

Связанный контент