我想使用命令批处理来创建列表文件夹。
但是文件夹的名称包含符号字符,我不知道如何使用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
答案 0 :(得分:4)
如果目标包含符号,则需要引用目标:
mkdir "%folder%"
(md
与mkdir
)
此外: 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%变量%中出现问题。
如果您的数据包含括号,则解析器可能会对括号是命令的一部分还是数据的一部分感到困惑。如果是这种情况,最好避免带括号的构造。