我想创建一个目录树,其中文件夹名称基于单个用户输入,例如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"
答案 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