我想创建一个批处理并需要查找特定文件,可以找到它吗?它必须是一个搜索所有驱动器直到找到文件的命令,我希望它对每个人都可用。
例如,我想找到“FarCry4.exe”,我需要它对其他人来说是通用的,因为可能有些人没有像我一样在默认目录中安装 Far Cry 4。
我试过了findstr /x /c:"FarCry4" *.exe
,但完成后它只是告诉我无法打开,然后它自动关闭。
是否可以使用findstr
命令,或者用户是否必须将他的路径与我的路径交换?
答案1
使用 findstr 命令是否可行
FindStr“在文件中搜索字符串”(参见findstr /?
)。因此,您的命令是在所有 EXE 中查找字符串“FarCry4”,它与文件名无关。
例如,我想找到“FarCry4.exe”,我需要它对其他人来说是通用的,因为有些人可能没有在默认目录中安装 Far Cry 4。
您可以使用dir
该/s
选项从当前目录搜索所有子目录。
前往驱动器的根目录(即c:\
)并运行以下命令:
dir FarCry4.exe /s /b 2>null
您需要对系统中想要搜索的每个驱动器运行此操作。
这/b
将导致“裸”输出,因此不会有标题,并且每个找到的文件都将包含其完整路径。
运行dir /?
以获取有关 Dir 选项的更多信息,这2>null
将导致 Dir 报告的错误(访问被拒绝、路径太长等)被重定向到无效的而不是屏幕。