DOS Batch在多个目录下创建文件夹

时间:2015-12-10 17:23:27

标签: batch-file dos

我正在学习DOS,我正在努力更好地组织我的一些客户端目录。我想在我的每个客户的文件夹下创建5个文件夹(2011年,2012年,2013年,2014年和2015年),但我有很多客户,并希望使用批处理命令。

以下是我的目录示例:

C:\客户\名称\

这就是我想要做的事情:

C:\客户\名称\ 2015

我有大约200个不同的客户,所以单独创建这些客户将是乏味和耗时的。有没有办法写入所有'Name'文件夹,即使它们都不同?

2 个答案:

答案 0 :(得分:0)

试试这个:

pushd C:\Clients
for /d %%d in (*) do (
    for %%i in (2011 2012 2013 2014 2015) do mkdir %%d\%%i
)
popd

答案 1 :(得分:0)

这是一个可以解决问题的批处理文件: 您可以通过两种方式运行它:

  • 将文件夹(例如 C:\ Clients )作为参数传递
  • 转到文件夹(cd C:\Clients)并从那里运行,没有参数

注意:它也适用于包含 SPACE 的文件夹,YES是 cmd 特定的(不是 DOS

@echo off
setlocal enableextensions

if "" neq "%~1" (
    if exist "%~1\" (
        set WORK_DIR="%~1"
    ) else (
        set WORK_DIR="%CD:"=%"
    )
) else (
    set WORK_DIR="%CD:"=%"
)

for /f "tokens=*" %%f in ('dir /b /a:d %WORK_DIR%') do (
    for %%g in (2011 2012 2013 2014 2015) do (
        mkdir "%WORK_DIR:"=%\%%f\%%g"
    )
)