批量创建多个子文件夹到其他子文件夹中

批量创建多个子文件夹到其他子文件夹中

我有一个文件夹,里面有标记为 0001-0999 的子文件夹。其中有三个子文件夹,A、B、C。我想要批量创建一组文件夹,放入子文件夹 A。目前,我只能通过调出特定的文件夹编号 (0001) 来实现此功能。

我现在正在做的工作:

FOR /d %A IN (C:\Folders\0001\A) 
DO mkdir "%A\a" & mkdir "%A\b" & mkdir "%A\c" & mkdir "%A\d" & mkdir "%A\e"

有没有办法用某个数字替换 0001,以便选择所有文件夹,还是我只能这样做 999 次?

答案1

有一个非常简单的方法可以做到这一点,你可以在需要的时候进行构建:

@echo off

set "dir=C:\Folders"

setlocal EnableDelayedExpansion
for /d %%A in (%dir%\*) do (
    set "sub=%%A\A"
    cd !sub!
    md a b c d e 2>nul
)

一切都在一个循环中完成。我做的第一件事是dir为目录设置一个变量 ( ),然后setlocal EnableDelayedExpansion需要能够在循环中分配和使用变量。对于循环本身:它查看目录中的所有子文件夹 ( /d in %dir%\*) 并将每个子文件夹分配给一个参数 ( %%A)。该参数用于设置一个新变量 ( !sub!),我们可以在其中指定要在其中创建新文件夹的子文件夹 ( \A)(来自代码的 a、b、c、d 和 e)。我们要做的第二件事是更改目录 ( cd),这样我们就不必为使用 make directory ( md) 命令创建的每个文件夹指定子文件夹。最后,md a b c d e 2>nul将在我们的目录中创建每个文件夹并将错误消息发送到nul(如果子文件夹已存在,则会出错)。就是这样!希望这对您或遇到此问题的人有所帮助。

相关内容