通过设置命令问题创建文件夹名称
Posted
技术标签:
【中文标题】通过设置命令问题创建文件夹名称【英文标题】:Create folder name via Set command issue 【发布时间】:2015-12-27 10:04:54 【问题描述】:我有一个简单的 .BAT 文件,它根据用户输入的内容创建一个带有名称的文件夹。我的问题是,当用户输入超过 1 个单词时,它会为每个单词创建一个文件夹。 我想要一个解决方案:
-
允许用户创建多个单词,并且只会创建一个具有全名的文件夹
通过某种检查机制允许用户只使用一个词,因此它将只创建一个包含一个词的文件夹。它不会接受多个单词。
下面是我用来创建文件夹名称的行:
**set /p x= Enter a SINGLE WORD to name the new folder:**
谢谢!
【问题讨论】:
您是否尝试过引用文件夹名称md "%x%"
?
感谢 MC ND ... 是的,我做到了!
显示您如何创建文件夹...
你不是真的在 DOS 下工作,是吗?
不,我不在 DOS 下工作。它是 W7 的 DOS 模拟器
【参考方案1】:
选项 1 - 将所有单词仅视为一个文件夹名称
set /p "x=folder name?"
md "%x%"
引号将避免文件夹名称的拆分
选项 2 - 仅使用第一个单词作为文件夹名称
set /p "x=folder name?"
for /f %%a in ("%x%") do md "%%a"
for /f
命令将只检索第一个标记(可以自定义,但默认情况下只检索第一个标记,输入字符串使用空格和制表符作为分隔符)
【讨论】:
因此,对于输入的每个名称,我的脚本都应该创建一个文件夹,并在该文件夹中创建一个包含其中内容的文本文件。它是更大脚本的一部分。我使用了 MC ND 的选项 1,现在如果用户输入多个单词,将创建一个目录,但现在文本文件不会出现在文件夹中!当我输入一个单词时,它仍然可以正常工作。 脚本:set /p "x= 输入新备份文件夹的名称:" echo. echo 输入关于内容的评论。回声。 md "%x%" set Output="%x%" set /p y=注释说明:echo 此文件夹包含:%y% >> "%Output%\Contents of "%x%.txt" @John,md "%x%"
, ...
, echo This folder contains %y% > "%x%\contents of %x%.txt"
最好不要在变量数据中包含引号,只需将它们添加到命令中的正确位置即可
出于某种原因,如果我在这个 cmets 字段中引用脚本,它就会变得一团糟,就像我之前的帖子一样。无论如何,我仍然在文件夹之外得到那个文本文件。似乎无法解决这个问题,它看起来像......以上是关于通过设置命令问题创建文件夹名称的主要内容,如果未能解决你的问题,请参考以下文章