在 Bash 中,我可以移动目录而不需要知道完整的目录名,如下所示:
mv gradle-*/ gradle/
我如何在cmd
批处理文件中而不是 powershell 中执行此操作。
该move
命令似乎不允许这样做。
答案1
MOVE 仅将 1 个目录移动到另一个位置,因此无需扩展通配符。与 Unix 不同,在 Windows 上,shell 会扩展通配符,而每个命令都必须自行执行此操作,这会导致命令之间出现各种不同的行为。
您可以使用 FOR 命令来模拟这一点。
FOR 的各种变体的行为有点像 Unix 上的“find . -name“wildcard”-exec {} ”。
FOR /d %%i IN (gradle-*) DO move %%i gradle\%%i