【问题标题】:Batch cmd MKDIR folder with a name including symbol批处理 cmd MKDIR 文件夹,其名称包括符号
【发布时间】:2013-11-26 21:56:33
【问题描述】:

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

但是文件夹名称中包含符号字符,不知道怎么用cmd批处理

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

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

输入:输入根目录(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

【问题讨论】:

  • 请不要将您的问题标题全部大写。它使阅读变得更难,很烦人,并且不会帮助您更快地获得答案。谢谢。 :-) 你在问什么也很不清楚,因为你没有展示你如何尝试使用mkdir 或任何带有“符号”的东西的例子。如果您希望这里的人为您提供帮助,您可能应该 edit 您的问题包含更多信息,包括您迄今为止尝试过但不起作用的内容。

标签: batch-file cmd mkdir


【解决方案1】:

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

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 中,几乎任何角色都会感到高兴。一些不常用的字符可能会在普通的 %variable% 中出现问题。

如果您的数据包含括号,那么解析器可能会混淆括号是命令的一部分还是数据的一部分。如果是这种情况,最好避免带括号的构造。

【讨论】:

    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2019-11-22
    相关资源
    最近更新 更多