在输入目录中批量创建文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在输入目录中批量创建文件夹相关的知识,希望对你有一定的参考价值。

我想要一个批处理文件,我可以指定一个路径,如C: Users Munch Desktop All Files 然后它将在该指定目录中创建一个文件夹。

目前所做的只是在我的桌面上创建文件夹,在输入中提供名称Im。例如,如果输入我的输入“All Files Development”,它将在我的桌面上创建两个名为“All”和“Files”的文件夹

@echo off
color 0C

:main
cls
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
set /p dir=Enter directory:
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
goto create
pause

:create

md "C:UsersMunchDesktop\%dir%
ew"
pause

如果我将我的md行更改为

md "\%dir%
ew"

然后输入我的批输入“C: Users Munch Desktop All Files”,它仍然是一样的。

答案

你的问题是你的md / mkdir命令的路径被指定为“root-relative” - 也就是说,你有驱动器规范或反斜杠作为路径的第一个字符。

相反,尝试省略,并使用

@echo off
color 0C

:main
cls
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
set /p dir=Enter directory:
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
goto create
pause

:create

md "%dir%
ew"
pause

没有领先的C:...

需要注意的是,如果你没有提供完整路径(从或驱动器的根[C:]开始),新目录将在相对路径中创建 - 也就是说,如果你在C:FOO,并且您调用批处理文件并在提示符处输入BARBAZQUUX,将创建的文件夹将是C:FOOBARBAZQUUXNEW。如果您提供驱动器但不提供驱动器的根目录(例如,D:BARBAZQUUX),则将创建相对于该驱动器上当前目录的新文件夹(例如,如果D:上的当前目录是D:YOTTA,则创建该文件夹将是D:YOTTABARBAZQUUXNEW)。

另一答案

您的问题是您显然是在所需目录名周围输入引号。

结果,正在执行的实际命令是

md "C:UsersMunchDesktop"All FilesDevelopment"
ew"

这被解释为md "C:UsersMunchDesktop"All FilesDevelopment" ew"

所以正在创建两个目录。

真正简单的解决方案是省略引号。

如果您忘记,程序化解决方案是在dir命令中删除md中的引号。

md "U:UsersMunchDesktop\%dir:"=%
ew"

以上是关于在输入目录中批量创建文件夹的主要内容,如果未能解决你的问题,请参考以下文章

VSCode插件开发全攻略代码片段设置自定义欢迎页

Win10如何批量新建文件和文件夹

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

webstorm代码片段的创建

批量创建文件

批量转换word为pdf