标题: 批处理创建多级文件夹 [打印本页]
作者: 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
- @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
- 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 编辑
- @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 /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 - $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 $level
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |