Board logo

标题: 批处理创建多级文件夹 [打印本页]

作者: sky_Li    时间: 2022-2-8 11:29     标题: 批处理创建多级文件夹

描述:自动创建n级目录
例如:
在主目录test下,创建3级目录,test1,test2,test3.分别在test1下有test1_1、test1_2、test1_3,在test1_1下又有test1_1_1、test1_1_2、test1_1_3目录。以此类推
备注:其中3级目录可手动指定。
价格可商讨。
邮箱:ljj_dnf@163.com
作者: zaqmlp    时间: 2022-2-8 11:58

  1. @echo off
  2. set "prefix=test"
  3. for /l %%a in (1 1 3) do (
  4.     for /l %%b in (1 1 3) do (
  5.         for /l %%c in (1 1 3) do (
  6.             md "%prefix%\%prefix%%%a\%prefix%%%a_%%b\%prefix%%%a_%%b_%%c" 2>nul
  7.         )
  8.     )
  9. )
  10. pause
  11. exit
复制代码

作者: sky_Li    时间: 2022-2-8 12:01

本帖最后由 sky_Li 于 2022-2-8 12:06 编辑

回复 2# zaqmlp


   目录不一定是3级,可能是n级,就是这个for怎么根据指定的数字确定几个for
作者: flashercs    时间: 2022-2-8 14:21

本帖最后由 flashercs 于 2022-2-8 14:46 编辑
  1. @echo off
  2. cd /d "%~dp0"
  3. set prefix=test
  4. set delims=_
  5. @REM 目录深度 level
  6. set level=2
  7. @REM 每层建立文件夹数量 dirnum
  8. set dirnum=3
  9. call :mdfoo "%prefix%" 0
  10. exit /b
  11. :mdfoo pre n
  12. setlocal
  13. if %~2 geq %level% (
  14.   2>nul md %1
  15.   goto end
  16. )
  17. set /a n=%~2+1
  18. for /l %%A in (1,1,%dirnum%) do (
  19.   call :mdfoo "%~1\%~nx1%delims%%%A" %n%
  20. )
  21. :end
  22. endlocal
  23. exit /b
复制代码

作者: for_flr    时间: 2022-2-8 16:20

回复 4# flashercs

借楼提问,如果是powershell,大佬准备怎么写呢
作者: sky_Li    时间: 2022-2-8 16:29

回复 4# flashercs


    已经解决,大佬666!!!
作者: flashercs    时间: 2022-2-8 17:05

回复 5# for_flr
  1. $prefix = 'test'
  2. $delims = '_'
  3. # @REM 目录深度 level
  4. $level = 2
  5. # @REM 每层建立文件夹数量 dirnum
  6. $dirnum = 3
  7. function mdfoo {
  8.   param (
  9.     [string]$Path,
  10.     [int]$Level
  11.   )
  12.   if ($Level -le 0) {
  13.     New-Item -Path $Path -ItemType Directory -Force
  14.     return
  15.   }
  16.   for ($i = 1; $i -le $dirnum; $i++) {
  17.     mdfoo -Path (Join-Path -Path $Path -ChildPath "$(Split-Path -Path $Path -Leaf)$delims$i") -Level ($Level - 1)
  18.   }
  19. }
  20. mdfoo -Path $prefix -Level $level
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2