在Windows中获取*的最后一个目录

时间:2013-09-03 08:00:26

标签: cmd

cd $PACKAGING_EARS_PATH/target/*/*

但在Windows cd target/*/*中无效。

我想要获取最后一个目录。有可能吗?

2 个答案:

答案 0 :(得分:2)

看看这是否漂浮在你的船上:

@echo off
for /d /r "%PACKAGING_EARS_PATH%/target" %%a in (*) do set "folder=%%a"
cd "%folder%"

答案 1 :(得分:1)

看起来您正在使用Unix语法来扩展环境变量。 Windows使用%var%

如果有更深层次的子目录,foxidrive解决方案可能无法给出正确答案。

正确的解决方案需要两个步骤。

从命令行:

for /d %A in ("%PACKAGING_EARS_PATH%\target\*") do @for /d %B in ("%A\*") do @cd %B

使用批处理:

@echo off
for /d %%A in ("%PACKAGING_EARS_PATH%\target\*") do for /d %%B in ("%%A\*") do cd %%B

Windows cmd具有交互式命令行TAB文件夹(和文件)名称完成功能,可能对您有用。例如,键入cd te,然后按<tab>键,它将自动展开到以te开头的第一个文件夹。反复按<tab>,它将循环显示所有匹配的文件夹名称。您可以省略前导字符,它只会遍历所有文件夹名称。

默认情况下,可能启用或不启用TAB完成功能。 CMD /F:ON将明确启动cmd并启用名称完成。