cd $PACKAGING_EARS_PATH/target/*/*
但在Windows cd target/*/*
中无效。
我想要获取最后一个目录。有可能吗?
答案 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
并启用名称完成。