cd到cmd中带dir的搜索结果

时间:2012-11-05 23:45:34

标签: windows filesystems cmd dir cd

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

1 个答案:

答案 0 :(得分: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"