在命名文件夹中创建子文件夹

在命名文件夹中创建子文件夹

Kevin Fegan 发布了以下代码来制作带有前导零的“x”个文件夹,效果很好:

@echo off
for /L %%f in (9,1,120) do call :work 000%%f
goto :EOF
:work
set "dx=%~1"
set "dx=%dx:~-3%"
md "C:\Dropbox\Development\Lec-%dx%" >nul 2>&1
set "dx="
goto :EOF

我还需要在讲座文件夹下创建 3 个子文件夹,分别名为 Request、Response 和 Support。我尝试了以下操作,但只在每个 Lec-XXX 文件夹下获得了文件夹 Request。

md "C:\Dropbox\Development\Lec-%dx%"***\Request Response Support*** >nul 2>&1

我感觉我错过了一些平凡的东西,但又无法弄清楚。

提前致谢。

答案1

@echo off 

cd /d "C:\Dropbox\Development"

for /L %%L in (9,1,120)do set "_folder=000%%~L" && (
   cmd /v:on /c "mkdir "%cd%\Lec-!_folder:~-3!"" & (
           for %%i in (Request,Response,Support)do (
   cmd /v:on /c "mkdir "%cd%\Lec-!_folder:~-3!\%%i""
   ))) 2>nul

您可以使用一个加法for循环并使用!EnableDelayedExpansion!withcmd /v 创建文件夹:

cmd /v:on /c "mkdir "%cd%\Lec-!_folder:~-3!"" & (
        for %%i in (Request,Response,Support)do (
cmd /v:on /c "mkdir "%cd%\Lec-!_folder:~-3!\%%i""

相关内容