如何在cmd / batch脚本中仅使用通配符导航到使用单个字符命名的子目录?

时间:2013-09-18 13:48:47

标签: windows batch-file cmd

假设我需要使用通配符*导航到子文件夹。 cmd / batch脚本中的命令是什么?

示例:

我当前的目录是c:\Users\Test

我只有一个子文件夹3

我想导航到c:\Users\Test\3

  

cd * //不起作用

     

cd *。 * //不起作用

导航命令是什么?

2 个答案:

答案 0 :(得分:2)

您可以选择一个随机/ FOR-Loop

找到的第一个目录
for /d %%A in (*) do cd %%A

答案 1 :(得分:1)

你确定吗?这在我的环境中有效:

PS C:\users\myuser\test> ls


    Directory: C:\users\myuser\test


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         9/18/2013   9:56 AM            3


PS C:\users\myuser\test> cd *
PS C:\users\myuser\test\3>

如果您尝试在具有多个子目录的目录中使用它,则将无效。例如,我的“Documents”文件夹有多个子目录:

PS C:\users\myUser\documents> cd *
Set-Location : Cannot set the location because path '*' resolved to multiple
containers. You can only the set location to a single container at a time.

当我尝试使用通配符来匹配特定的足以返回单个匹配的不完整短语时会发生什么:

PS C:\users\myUser\documents> cd boo*
PS C:\users\myUser\documents\Books>
PS C:\users\myUser\documents> cd *ooks
PS C:\users\myUser\documents\Books>