例如,我将提供一个文件名,并且我希望脚本在计算机中搜索该文件并返回变量的路径。伪调用是:
设置 pathToMyFile = SomeSearchFunction(myFileToSearchFor.ext)
谢谢
例如,我将提供一个文件名,并且我希望脚本在计算机中搜索该文件并返回变量的路径。伪调用是:
设置 pathToMyFile = SomeSearchFunction(myFileToSearchFor.ext)
谢谢
dir /b /s "c:\myFileToSearchFor.ext"
将列出 C: 驱动器中文件的每一次出现,包括完整的路径信息。
该文件可能存在于多个位置。
此批处理命令会将变量设置为最后找到的位置:
for /f "delims=" %%F in ('dir /b /s "c:\myFileToSearchFor.ext"') do set "pathToMyFile=%%~dpF"
此批处理脚本会将变量设置为第一个找到的位置:
for /f "delims=" %%F in ('dir /b /s "c:\myFileToSearchFor.ext"') do (
set "pathToMyFile=%%~dpF"
goto :foundIt
)
:foundIt
据我所知,没有任何功能/程序可以执行此操作。如果您需要效率,您可以编写一个程序,对所有目录进行花哨的树搜索。但是,我确实找到了批量解决方案!
@echo off
for /r "C:\somebasepath" %%i in (*) do (
if "%%~nxi" EQU "%1" (
echo %%i
break
)
)
将要找到的文件作为第一个参数传递给批处理文件。但是如果它在一个很深的目录中,这是非常非常慢的。