两种情况:
- 工作目录内只有一个文件夹。
- 工作目录中有一堆文件夹,需要按字母顺序排列到第一个可用的文件夹内。
答案1
- 键入
cd
并添加Space(暂时不要按Enter)。 - 按Tab一次,将添加第一个可用目录
- 如果你想要下一个,请继续按Tab
TabWindows 命令行的工作方式与 Linux 不同。在 Linux 中,如果有多种可能性,它会拒绝完成单词,如果你坚持,它会列出它们。在 Windows 中,按Tab几次会循环显示所有可能性,它甚至可能会覆盖你已经输入的内容。
答案2
您应该使用 for 循环来获取文件夹。
在具有固有字母排序的驱动器(ntfs 格式)上,您可以使用更简单的方法For /D
,否则您将需要For /f
解析 dir 命令的输出。
@Echo off
Set "FirstDir="
For /d %%D in ("X:\Path\to\workdir\*") do If not defined FirstDir Set "FirstDir=%%D"
PushD "%FirstDir%"
Echo current dir = %CD%
Pause
PopD
对于更可靠的版本,请将上面的版本替换为以下内容:
For /F "delims=" %%D in ('Dir /B/AD/ON "X:\Path\to\workdir\*"') do If not defined FirstDir Set "FirstDir=%%D"
重置 varFirstDir
并在循环中检查是否存在可确保您只获得第一个目录。