我想使用命令批处理来创建列表文件夹。
但是文件夹的名称包含符号字符,我不知道如何使用cmd批处理
例如:我想创建列表文件夹
01.DOCUMENT
02.SOURCE
03.DESIGN
04.TEST
05.REPORT
06....
输入:输入根目录(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
如果目标包含符号,则需要引用目标:
mkdir "%folder%"
( md
与 mkdir
相同 )
也: mkdir "%folder%" 2>nul
将创建目录;2>nul
禁止显示错误消息。
%release%
不知从何而来。你没有说它是什么或它来自哪里;那你还是REM
了。没有关于那里正在发生的事情的IEA。
现在,如果您的目录名称在文件中,那么
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
用作循环控制。一些不太常用的字符可能会在序号%变量%中出现问题。
如果数据包含括号,则解析器可能会混淆括号是命令的一部分还是数据的一部分。如果是这种情况,最好避免使用括号结构。