批量cmd MKDIR文件夹,其名称包含符号

时间:2013-11-14 02:23:32

标签: batch-file cmd mkdir

我想使用命令批处理来创建列表文件夹。

但是文件夹的名称包含符号字符,我不知道如何使用cmd批处理

例如:我想创建列表文件夹

01.DOCUMENT
02.SOURCE
03.DESIGN
04.TEST
05.REPORT
06....

输入:输入root-directory(strfolder)

然后使用示例:mkdir%strfolder%\(+ name folder 01.Ducment,...)但我不知道使用

我目前的代码:

@echo off
cls
set /p folderName=Enter project name:%=%
@echo %folderName%

SET mypath=%~dp0
rem echo %mypath:~0,-1%

set folder=%mypath%%folderName%


if exist %folder% (
    echo "Folder already exists"
) else (
    mkdir %folder%
    rem mkdir %folder%\%1 %RELEASE% --> this line don't know how :D
    echo %folder%\%^1%
)

pause

1 个答案:

答案 0 :(得分:4)

如果目标包含符号,则需要引用目标:

mkdir "%folder%"

mdmkdir

相同

此外:     mkdir“%folder%”2> nul

将创建目录; 2>nul会抑制错误消息。

%release%无处可见。你没有说它是什么或它来自何处;然后你REM无论如何。没有发生在那里的事情。

现在,如果你的目录名在文件中,那么

for /f "delims=" %%i in (filename.txt) do echo %%i

应该显示名称。如果要使用这些名称创建子目录,那么

for /f "delims=" %%i in (filename.txt) do echo MD "%folder%\%%i"

应该为你做到 - 好吧,ECHO命令;删除ECHO关键字以实际创建目录。

请注意,实际上任何字符都会很高兴,只要它保留在用作循环控件的元变量%%i中。一些不太常用的字符可能会在ordingary%变量%中出现问题。

如果您的数据包含括号,则解析器可能会对括号是命令的一部分还是数据的一部分感到困惑。如果是这种情况,最好避免带括号的构造。