# 请教下快速建立模式化的文件目录的方法

**URL:** <https://meta.appinn.net/t/topic/11344>\
**Category:** 问题求助\
**Tags:** windows\
**Created:** [2019 年8 月 27 日 02:02 UTC](https://meta.appinn.net/t/topic/11344 "2019-08-27T02:02:41Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Asipirin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/asipirin/32/4420_2.png) [@Asipirin](https://meta.appinn.net/u/Asipirin)\
**Post date:** [2019 年8 月 27 日 02:02 UTC](https://meta.appinn.net/t/topic/11344/1 "2019-08-27T02:02:42Z")

</div>

请教下各位大佬，我现在打算建立1000个左右的项目文件夹 希望达到的目标如下：

第一层是项目名，

第二层是名字以是以“一·项目名·XXXX·年份”、“二·项目名·XXXX·年份”、“三·项目名·XXXX年份”开头的文件夹，

第三层名字以“（一）（二）（三）（四）（五）”开头

第四层是“12345”

第五层是“（1）（2）（3）（4）（5）”

以此类推

请问下有没有比较快的方法？

---

<div class="post-metadata">

**Author:** ![ddos](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@ddos](https://meta.appinn.net/u/ddos)\
**Post date:** [2019 年8 月 27 日 02:44 UTC](https://meta.appinn.net/t/topic/11344/2 "2019-08-27T02:44:52Z")

</div>

一共5层 变量 是 `项目名` `年份` `每层文件夹个数`是吗?

---

<div class="post-metadata">

**Author:** ![Asipirin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/asipirin/32/4420_2.png) [@Asipirin](https://meta.appinn.net/u/Asipirin)\
**Post date:** [2019 年8 月 27 日 02:56 UTC](https://meta.appinn.net/t/topic/11344/3 "2019-08-27T02:56:31Z")

</div>

是的 层数后续可能会增加 但是肯定不会超过10层

---

<div class="post-metadata">

**Author:** ![ddos](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@ddos](https://meta.appinn.net/u/ddos)\
**Post date:** [2019 年8 月 27 日 03:50 UTC](https://meta.appinn.net/t/topic/11344/4 "2019-08-27T03:50:48Z")

</div>

除了自己写程序 想不到什么通用软件…

---

<div class="post-metadata">

**Author:** ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
**Post date:** [2019 年8 月 27 日 04:54 UTC](https://meta.appinn.net/t/topic/11344/5 "2019-08-27T04:54:36Z")

</div>

经典问题，经典到解决方法太多了，网上一搜一大堆：  
命令行有 `批处理+批量创建文件夹`、`Excel+批量创建文件夹`、`PowerShell+批量创建文件夹` …  
软件有各种各样的 `Text 2 Folder`

要简单就用 `Text 2 Folder`，把需要创建的目录写到一个 txt 文件里就行。  
录入时还可以偷一下懒，比如 `项目名` 可以写成 `xmm`，写完后再批量替换。

---

<div class="post-metadata">

**Author:** ![ddos](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@ddos](https://meta.appinn.net/u/ddos)\
**Post date:** [2019 年8 月 27 日 05:28 UTC](https://meta.appinn.net/t/topic/11344/6 "2019-08-27T05:28:41Z")

</div>

> [@allor](#):
>
> Text 2 Folder

可是你的工作量 并没有减小什么…

---

<div class="post-metadata">

**Author:** ![FrostSigh](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/frostsigh/32/3604_2.png) [@FrostSigh](https://meta.appinn.net/u/FrostSigh)\
**Post date:** [2019 年8 月 27 日 06:28 UTC](https://meta.appinn.net/t/topic/11344/7 "2019-08-27T06:28:39Z")

</div>

最简单的办法，没有之一：  
发红包给大佬，大佬创建好文件夹，打个 ZIP 包，发给你

---

<div class="post-metadata">

**Author:** ![planningall](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/p/ed655f/32.png) [@planningall](https://meta.appinn.net/u/planningall)\
**Post date:** [2019 年8 月 27 日 12:14 UTC](https://meta.appinn.net/t/topic/11344/8 "2019-08-27T12:14:36Z")

</div>

相当具有可操作性

---

<div class="post-metadata">

**Author:** ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
**Post date:** [2019 年8 月 27 日 12:56 UTC](https://meta.appinn.net/t/topic/11344/9 "2019-08-27T12:56:06Z")

</div>

Text 2 Folder 只需要你提供一个 txt，工作量是多是少就看各人的本领了。  
逐字输入自然是没减少什么工作量，要是用上复制和替换，起码能减少5成，用上 Excel 那就能减少9成。

数字是我随便估的，别太在意。

---

<div class="post-metadata">

**Author:** ![ddos](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@ddos](https://meta.appinn.net/u/ddos)\
**Post date:** [2019 年8 月 27 日 14:26 UTC](https://meta.appinn.net/t/topic/11344/10 "2019-08-27T14:26:29Z")

</div>

- 这个任务99% 都是遍历最后 子目录 名…创建 就是一个循环命令而已…
- 他这个目录个数不定,目录层数不定,目录名不定,不用编程,怎么搞都是一大堆工作量…

---

<div class="post-metadata">

**Author:** ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
**Post date:** [2019 年8 月 27 日 15:08 UTC](https://meta.appinn.net/t/topic/11344/11 "2019-08-27T15:08:52Z")

</div>

> [@allor](#):
>
> 用上 Excel

我还在想列编辑的时候看到 Excel，嗯，Excel 绝对是小白编辑文本的好帮手，木有之一。大学的时候不会编程，经常用 Excel 玩骚操作。

---

<div class="post-metadata">

**Author:** ![d93b40e021f09da5d4f0](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/5f8ce5/32.png) [@d93b40e021f09da5d4f0](https://meta.appinn.net/u/d93b40e021f09da5d4f0)\
**Post date:** [2019 年8 月 27 日 16:15 UTC](https://meta.appinn.net/t/topic/11344/12 "2019-08-27T16:15:15Z")

</div>

如果会编程的话其实很简单。

通过命令行命令md可以快速新建多级子目录，例如要在当前目录下建立1\2\3\4这四层目录，只需要用md 1\2\3\4即可，所以我们只要能获得文件夹列表，完全可以用批处理实现。因此有以下几种思路，工作量逐步减少，需要一定的编程基础：

1.用Excel做一个文件夹列表，层级少的时候很简单，层级多了，工作量指数性上升。

2.用不管什么语言嵌套几个循环，生成文件夹列表，层级再高也没事。

3.直接用批处理写一个脚本，能一键完成。

前两个方法直接生成 md 1\2\3这样一行一行的，然后保存为bat文件，运行就好了。

第二种方法比较灵活，不过稍微复杂点。

如果确定每个目录都是一样的层级第三种办法也就是批处理比较简单。示例代码如下：

```
 @echo off
setlocal enabledelayedexpansion
rem 开启变量延迟，需要延迟的变量需要用！！括起来
for /f "tokens=*" %%a in (name.txt) do (
rem 通过for循环逐行读取name文件里并赋值给变量，变量只能是一个字母，区分大小写
for /f "tokens=*" %%b in (n_zh.txt) do (
for /l %%c in (1,1,10) do (
rem 这里直接用数字
set "addr=%%a\(%%b)\%%c"
rem 这里字符串直接按原样输入，例如第三级也需要加括号，那就写成set "addr=%%a\(%%b)\（%%c）"
md !addr!
)))

```

需要两个辅助文件，一个用来保存项目名，一个用来保存中文数字，当然如果有其他的格式要求，也需要建别的辅助文件。

上面的脚本能生成一个三层的目录结构，生成的目录树类似下面的样子

```
├─a
│ ├─(一)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(三)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(二)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(五)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ └─(四)
│ ├─1
│ ├─10
│ ├─2
│ ├─3
│ ├─4
│ ├─5
│ ├─6
│ ├─7
│ ├─8
│ └─9
├─b
│ ├─(一)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(三)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(二)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(五)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ └─(四)
│ ├─1
│ ├─10
│ ├─2
│ ├─3
│ ├─4
│ ├─5
│ ├─6
│ ├─7
│ ├─8
│ └─9
├─c
│ ├─(一)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(三)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(二)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ ├─(五)
│ │ ├─1
│ │ ├─10
│ │ ├─2
│ │ ├─3
│ │ ├─4
│ │ ├─5
│ │ ├─6
│ │ ├─7
│ │ ├─8
│ │ └─9
│ └─(四)
│ ├─1
│ ├─10
│ ├─2
│ ├─3
│ ├─4
│ ├─5
│ ├─6
│ ├─7
│ ├─8
│ └─9
└─d
    ├─(一)
    │ ├─1
    │ ├─10
    │ ├─2
    │ ├─3
    │ ├─4
    │ ├─5
    │ ├─6
    │ ├─7
    │ ├─8
    │ └─9
    ├─(三)
    │ ├─1
    │ ├─10
    │ ├─2
    │ ├─3
    │ ├─4
    │ ├─5
    │ ├─6
    │ ├─7
    │ ├─8
    │ └─9
    ├─(二)
    │ ├─1
    │ ├─10
    │ ├─2
    │ ├─3
    │ ├─4
    │ ├─5
    │ ├─6
    │ ├─7
    │ ├─8
    │ └─9
    ├─(五)
    │ ├─1
    │ ├─10
    │ ├─2
    │ ├─3
    │ ├─4
    │ ├─5
    │ ├─6
    │ ├─7
    │ ├─8
    │ └─9
    └─(四)
        ├─1
        ├─10
        ├─2
        ├─3
        ├─4
        ├─5
        ├─6
        ├─7
        ├─8
        └─9

```

---

<div class="post-metadata">

**Author:** ![Asipirin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/asipirin/32/4420_2.png) [@Asipirin](https://meta.appinn.net/u/Asipirin)\
**Post date:** [2019 年8 月 29 日 01:43 UTC](https://meta.appinn.net/t/topic/11344/13 "2019-08-29T01:43:45Z")

</div>

先谢过各位大佬了 方法先记下来 有时间一个个试试
