0
cd $PACKAGING_EARS_PATH/target/*/*

但在 Windowscd target/*/*中无法正常工作。

我想得到最后一个目录。是否可以?

4

2 回答 2

2

看看这是否能让你的船浮起来:

@echo off
for /d /r "%PACKAGING_EARS_PATH%/target" %%a in (*) do set "folder=%%a"
cd "%folder%"
于 2013-09-03T09:33:22.513 回答
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

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

默认情况下,TAB 完成功能可能会也可能不会启用。CMD /F:ONcmd在启用名称完成的情况下显式启动。

于 2013-09-03T13:54:16.450 回答