我想知道如何使用批处理文件更改到包含特定文件名的目录。首先,我想使用命令搜索特定文件dir
。我知道只会找到一个文件。然后我想要到cd
包含该文件的目录。有什么建议么?
问问题
376 次
1 回答
2
如果您只搜索文件名,这应该有效(编辑:但仅当搜索使用通配符时):
for /R %%i in ("myfile.*") do cd "%%~dpi"
(如果从命令行而不是在批处理文件中运行,则替换%%
为。)%
如果搜索不使用通配符,您可以这样做:
for /R %%i in (.) if exist "%%i\myfile.txt" do cd "%%i"
如果您需要使用该dir
命令,例如,只选择只读文件,这是另一个选项:
for /F "usebackq tokens=*" %%i in (`dir /s /b /ar "readonly.txt"`) do cd "%%~dpi"
于 2012-11-06T00:13:13.420 回答