基于文本字符串创建一组文件夹

时间:2017-09-19 07:58:27

标签: windows batch-file

我想创建一个目录树,其中文件夹名称基于单个用户输入,例如2017-01234

在上述情况下,它将是\PATH\2017\01001-01500\2017-01234\\{A,B,C,D}

如果用户输入为2018-01234,则为\PATH\2018\01001-01500\2018-01234\\{A,B,C,D}

如果输入为2017-01654,则为\PATH\2017\01501-02000\2017-01654\\{A,B,C,D}

如何将用户输入拆分为变量然后构造上述路径?

到目前为止,我可以接受用户输入并创建最终目录集,但不能创建中间树。

SET /P 1="Enter Name:"
echo %1%

SET Path="\\PATH\%1%\"
echo %Path%

mkdir "%Path%A" "%Path%B" "%Path%C" "%Path%D"

1 个答案:

答案 0 :(得分:0)

根据示例设置规范并不是一个好主意;你应该总是描述规范。

以下代码从三个输入示例中生成所需的输出:

@echo off
setlocal

set /P "input=Enter Name: "
for /F "tokens=1,2 delims=-" %%a in ("%input%") do set /A year=%%a, high=1%%b/500*500+500, low=high-499
echo md \PATH\%year%\%low:~1%-%high:~1%\%input%\etc

输出示例:

Enter Name: 2017-01234
md \PATH\2017\01001-01500\2017-01234\etc

Enter Name: 2018-01234
md \PATH\2018\01001-01500\2018-01234\etc

Enter Name: 2018-01654
md \PATH\2018\01501-02000\2018-01654\etc