返回列表 发帖

批处理创建多级文件夹

描述:自动创建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

@echo off
set "prefix=test"
for /l %%a in (1 1 3) do (
    for /l %%b in (1 1 3) do (
        for /l %%c in (1 1 3) do (
            md "%prefix%\%prefix%%%a\%prefix%%%a_%%b\%prefix%%%a_%%b_%%c" 2>nul
        )
    )
)
pause
exitCOPY
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

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

回复 2# zaqmlp


   目录不一定是3级,可能是n级,就是这个for怎么根据指定的数字确定几个for

TOP

本帖最后由 flashercs 于 2022-2-8 14:46 编辑
@echo off
cd /d "%~dp0"
set prefix=test
set delims=_
@REM 目录深度 level
set level=2
@REM 每层建立文件夹数量 dirnum
set dirnum=3
call :mdfoo "%prefix%" 0
exit /b
:mdfoo pre n
setlocal
if %~2 geq %level% (
  2>nul md %1
  goto end
)
set /a n=%~2+1
for /l %%A in (1,1,%dirnum%) do (
  call :mdfoo "%~1\%~nx1%delims%%%A" %n%
)
:end
endlocal
exit /bCOPY
1

评分人数

    • for_flr: 这个递归妙啊!技术 + 1
微信:flashercs
QQ:49908356

TOP

回复 4# flashercs

借楼提问,如果是powershell,大佬准备怎么写呢

TOP

回复 4# flashercs


    已经解决,大佬666!!!

TOP

回复 5# for_flr
$prefix = 'test'
$delims = '_'
# @REM 目录深度 level
$level = 2
# @REM 每层建立文件夹数量 dirnum
$dirnum = 3
function mdfoo {
  param (
    [string]$Path,
    [int]$Level
  )
  if ($Level -le 0) {
    New-Item -Path $Path -ItemType Directory -Force
    return
  }
  for ($i = 1; $i -le $dirnum; $i++) {
    mdfoo -Path (Join-Path -Path $Path -ChildPath "$(Split-Path -Path $Path -Leaf)$delims$i") -Level ($Level - 1)
  }
}
mdfoo -Path $prefix -Level $levelCOPY
微信:flashercs
QQ:49908356

TOP

返回列表