【问题标题】: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 次,但是随机命令仅在循环第一次运行并且永远不会更新时才有效。因此,只创建一个文件而不是指定的数量。请帮我找出我的错误,谢谢!

【问题讨论】:

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

标签: shell for-loop batch-file cmd


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2018-02-08
    • 2020-01-30
    • 1970-01-01
    相关资源
    最近更新 更多