通过设置命令问题创建文件夹名称

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 字段中引用脚本,它就会变得一团糟,就像我之前的帖子一样。无论如何,我仍然在文件夹之外得到那个文本文件。似乎无法解决这个问题,它看起来像......

以上是关于通过设置命令问题创建文件夹名称的主要内容,如果未能解决你的问题,请参考以下文章

每天一个linux 命令----mkdir

手写cli

linux命令练习

批处理命令通过通配符名称获取最新文件

Linux学习-DAY5

Linux命令常用命令