如何制作一个批处理脚本来创建指定数量的具有随机名称和指定扩展名的文件? [复制]

Posted

技术标签:

【中文标题】如何制作一个批处理脚本来创建指定数量的具有随机名称和指定扩展名的文件? [复制]【英文标题】:how to make a batch script that creates specified number of files with random names and specified extensions? [duplicate] 【发布时间】:2020-07-12 18:21:14 【问题描述】:

所以,我正在尝试创建一个批处理脚本来创建多个文件。要创建的文件数应该由用户在第一个参数中指定,以及这些文件的扩展名在第二个参数中指定。这是我得到的代码:

@echo on
for /L %%x in (0,1,%1%) do (
    type nul > x%random%.%2%
    echo %1%
    echo %%x
    )

看起来循环运行了 %1 次,但是随机命令仅在循环第一次运行并且永远不会更新时才有效。因此,只创建一个文件而不是指定的数量。请帮我找出我的错误,谢谢!

【问题讨论】:

参加tour,阅读How to Ask和minimal reproducible example。 这肯定是重复的,但是我太累了,找不到这个问题的任何以前的答案。 即使您的代码有效,您也没有考虑过冲突,对吗?我的意思是,如果random 两次返回相同的值会怎样... 你不能像这样用个位数命名变量! %1%%2% 肯定应该是 %1%2 来表示第一个和第二个参数。 @aschipfl 我认为它可能会返回相同的值,因此它每次都会替换文件。我该如何解决这个问题? 【参考方案1】:

@setlocal EnableDelayedExpansion 添加到脚本顶部,并在随机变量周围使用! 字符而不是%。替换变量看起来像 %1%2,而不是 %1%%2%

【讨论】:

以上是关于如何制作一个批处理脚本来创建指定数量的具有随机名称和指定扩展名的文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我如何制作五彩纸屑?

为每个用户创建随机测试问题的最佳方法

shell 脚本 抽取指定数量的随机学生

shell 脚本 抽取指定数量的随机学生

如何通过批处理脚本接收具有名称的进程

创建指定数量的随机字符串