我正在尝试创建一个批处理文件,该文件将为多个名称创建目录。
这就是我要做的事情:
姓名列表:
Bob Billy Joe Sue Clide
SET Year=2014
SET Month=05
FOR (1 to Names)
SET Name = FOR ( Names )
MKDIR %Name%\%Year%\%Month%
除了我不知道如何做到这一点。有谁知道如何使用批处理文件循环名称或一般列表?
答案 0 :(得分:1)
考虑到Names
存储在单独的文件names.txt
中,您可以尝试如下
@echo off
SET Year=2014
SET Month=05
for /F %%a IN (names.txt) DO mkdir %%a%Year%%Month%
这将导致名称如下所示的文件夹
Billy201405
Bob201405
Clide201405
Joe201405
Sue201405
修改强>
如果您决定将名称存储在变量中,那么您可以这样做
@echo off
set "names=Bob Billy Joe Sue Clide"
SET Year=2014
SET Month=05
for %%s in (%names%) DO mkdir %%s%Year%%Month%
最终编辑:
不确定但如果您正在寻找像Bob\2014\05
这样的层次结构中创建文件夹,那么下面的代码就可以了
@echo off
SET Year=2014
SET Month=05
for /f %%s in (names.txt) do mkdir "%%~s\%Year%\%Month%"
<强> EDIT_10th_MAY:强>
考虑到您的文件包含带有如下空格的名称
Bob Johnson
Billy Cheng
Joe Watson
Sue Me
Clide Wilsen
您可以使用以下代码块
@echo off
SET Year=2014
SET Month=05
for /f "tokens=* usebackq" %%s in (names.txt) do mkdir "%%~s\%Year%\%Month%"
将创建如下文件夹
Billy Cheng\2014\05
Bob Johnson\2014\05
Clide Wilsen\2014\05
Joe Watson\2014\05
Sue Me\2014\05
答案 1 :(得分:0)
这应该可靠地在当前目录中创建文件夹树:
@echo off
SET Year=2014
SET Month=05
for /F "usebackq delims=" %%a IN ("names.txt") DO md "%%a\%Year%\%Month%"