【发布时间】:2015-09-09 00:08:08
【问题描述】:
我正在尝试查看是否无法使用批处理脚本制作随机名称生成器(基本上是为了好玩)。这个想法是生成一个批处理文件,它创建可发音的名称而不是随机文本字符串。
虽然我可以轻松地制作一个简单的系统,从预先制作的列表中选择一个随机名称,但这很无聊。我想要做的是有一个系统,它选择一个可变的音节字符串并将它们串成一个名称。
通过以下方式工作:
set /a roll=%random%%%100+1
if %roll% leq 100 set syllable=ah
if %roll% leq 95 set syllable=roh
以此类推,最后有一点检查计数是否等于某个数字,如果不等于则广告 1 计数并循环返回以滚动另一个音节。音节的数量是通过类似的修改后的 %random% 选择的,范围从 2 到 8。
不幸的是,我一直坚持让该循环的多种用途成为一个变量。我认为您可以使用 type 命令将文本从文本文件输入到批处理文件中,所以我想做的就是找出一种方法来制作
echo %syllable% >> name.txt
生成一个文本文件,它的所有条目都在一行中,没有空格,而不是每行一个条目。
我也很感激有人向我展示如何使用 set 命令使变量等于文本文件的内容。我想应该是:
set name=< name.txt
但这实际上可能使变量为“
【问题讨论】:
-
最好将变量设置为文件名。然后,您可以简单地使用代码从以该变量命名的文件中提取文本。您还应该考虑使用powershell 来代替。更丰富的编程环境,使用起来更少尴尬和令人沮丧。
-
不幸的是,我根本不知道如何使用powershell。或任何其他编程语言。另外,如果我可以批量解决这个问题,我可以将此位添加到我拥有的程序中,该程序为我重命名文件夹中的文件,因此每个文件都有可发音的名称,而不是“Gh17haM”。我也宁愿解决这个单一的问题,也不愿学习一门全新的编程语言。
-
这有帮助吗:stackoverflow.com/questions/134001/… 答案之一是
set /p VAR1=<test.txt -
@JerryJeremiah 是的,很多!谢谢。
标签: batch-file