批处理cmd MKDIR文件夹,其名称包括符号

Huỳ*_*ang -1 cmd batch-file mkdir

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

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

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

01.DOCUMENT
02.SOURCE
03.DESIGN
04.TEST
05.REPORT
06....
Run Code Online (Sandbox Code Playgroud)

输入:输入根目录(strfolder)

然后使用示例:mkdir%strfolder%\(+名称文件夹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
Run Code Online (Sandbox Code Playgroud)

Mag*_*goo 5

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

mkdir "%folder%"
Run Code Online (Sandbox Code Playgroud)

md与相同mkdir

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

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

%release%无处出现。您不会说它是什么或它来自何处;那你REM还是 那里没有发生任何事情。

现在,如果您的目录名称在文件中,则

for /f "delims=" %%i in (filename.txt) do echo %%i
Run Code Online (Sandbox Code Playgroud)

应该给你看名字。如果要使用这些名称创建子目录,则

for /f "delims=" %%i in (filename.txt) do echo MD "%folder%\%%i"
Run Code Online (Sandbox Code Playgroud)

应该为您做到这一点-好吧,ECHO命令会吗?删除ECHO关键字以实际创建目录。

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

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