0

我想知道如何使用批处理文件更改到包含特定文件名的目录。首先,我想使用命令搜索特定文件dir。我知道只会找到一个文件。然后我想要到cd包含该文件的目录。有什么建议么?

4

1 回答 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 回答