如何使用批处理搜索特定文件


1

我想创建一个批处理并需要找到一个特定的文件,是否有可能找到它? 它必须是一个搜索所有驱动器的命令,直到找到该文件,我希望它可以供所有人使用。

例如,我想找到“FarCry4.exe”,我需要它对其他人来说是通用的,因为也许有些人没有像我这样在默认目录中安装Far Cry 4。

我试过了 findstr /x /c:"FarCry4" *.exe 但完成后它只是告诉我它无法打开然后自动关闭。

有可能吗? findstr 命令,或者用户是否必须与我的路径交换?


1
我们不是脚本编写服务。我们希望用户告诉我们他们到目前为止所尝试的内容(包括他们正在使用的任何脚本)以及他们被困在哪里以便我们可以帮助解决特定问题。只询问脚本的问题太广泛而且很可能 搁置或关闭 。请阅读 我怎么问一个好问题?
DavidPostill

我想在第一次添加我尝试过的东西,但我忘记了...我真的很抱歉,我觉得这么愚蠢D:
Shiyato

Answers:


0

是否可以使用findstr命令

FindStr“在文件中搜索字符串”(参见 findstr /? )。所以你的命令在那里寻找字符串“FarCry4”INSIDE所有EXE,它与文件名无关。

例如,我想找到“FarCry4.exe”,我需要它对其他人来说是通用的,因为也许有些人没有在默认目录中安装Far Cry 4。

您可以使用 dir 随着 /s 从当前搜索所有子目录的选项。

前往驱动器的根部(即 c:\ )并运行以下内容:

dir FarCry4.exe /s /b 2>null

您需要为要搜索的系统中的每个驱动器运行此命令。

/b 将导致“裸”输出,因此将没有标题,并且每个找到的文件将包括其完整路径。

dir /? 有关Dir选项的更多信息,以及 2>null 将导致Dir报告的错误(访问被拒绝,路径太长等)被重定向到 空值 而不是屏幕。


是否可以做一些事情 if 命令?就好像它没有找到那个文件一样,通过驱动器搜索 b:\ d:\ ...如果找到文件与goto做某事?我不需要它的代码,只是想知道这样的事情是否可行。
Shiyato
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.