在不知道完整目录名的情况下在 DOS(批处理文件)中移动目录

vic*_*csz 3 batch-file

在 Bash 中,我可以在不知道完整目录名的情况下移动目录,如下所示:

mv gradle-*/ gradle/

我如何在cmd(即批处理文件,而不是powershell)中执行此操作。

move命令似乎不允许这样做。

Ton*_*nny 5

MOVE 仅将 1 个目录移动到另一个位置,因此不会打扰扩展通配符。与 Unix 不同的是,在 Windows 上 shell 扩展通配符,每个命令都必须自己完成,这会导致命令之间出现各种不同的行为。

您可以使用 FOR 命令来模拟这一点。

FOR 的各种变体的行为有点像 Unix 上的“find . -name "wildcard" -exec {} ”。

FOR /d %%i IN (gradle-*) DO move %%i gradle\%%i
Run Code Online (Sandbox Code Playgroud)