【问题标题】:Creating a dynamic .bat file创建动态 .bat 文件
【发布时间】:2023-04-03 10:41:02
【问题描述】:

我想知道是否可以在编写一个可以接受用户输入的批处理文件方面获得一些帮助。 (如果批处理文件不可行,则提供指导。)

我通常通过打开 CMD,导航到特定文件夹并运行以下命令来完成一项任务

rda -v 848 -i "C:\me\rda-tools-1.7.0.Ra1\Input" -o "C:\me\rda-tools-1.7.0.RC1\Output"

现在这个任务是重复的,每次唯一改变的是数字(在我的例子中是 848)。

你能指导我如何编写一个导航到特定文件夹的批处理文件,询问我输入的 3 位数字,然后运行上面的命令吗?

请注意,我对批处理文件知之甚少。 谢谢。

【问题讨论】:

    标签: batch-file scripting automation


    【解决方案1】:

    您可以将参数传递给批处理文件。它们是按顺序拍摄的,从%1%9(您可以使用更多,但您必须shift 才能让它们就位使用)。 (从技术上讲,有一个 %0 - 它是批处理文件本身的完整路径和文件名。)

    例如,将以下内容放入批处理文件(例如,RunRDA.bat):

    @echo off
    rda -v %1 -i "C:\me\rda-tools-1.7.0.Ra1\Input" -o "C:\me\rda-tools-1.7.0.RC1\Output"
    

    使用您的版本从命令提示符运行它:

    C:\RDA>RunRDA 848
    

    更多信息请见How to pass command line parameters to a batch file?

    【讨论】:

    • 不错,刚刚试了一下。但是,这意味着每次我想这样做时都必须导航到 C:\RDA。有没有办法能够有一个批处理文件,双击它,询问3位数并运行命令? (即没有导航)编辑 - 并不意味着听起来很懒惰,只是想尽可能少地涉及手动步骤。
    • 这不是你在这里问的问题。 :-) 您的问题是关于从命令行将参数传递给批处理文件,这是我回答的问题。如果您现在对如何从批处理文件中获取信息提示有不同的问题,请首先搜索以查看之前是否已在此处询问过;如果没有,请发布一个关于该主题的新问题。
    • 当然,感谢肯的帮助。不知道应该将后续问题创建为新线程。会的!
    【解决方案2】:

    您可以将参数传递给批处理文件。 请按照以下有关如何将参数传递给批处理文件的文章 How do I pass command line parameters to a batch file?

    【讨论】:

      猜你喜欢
      • 2018-05-26
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2013-06-19
      相关资源
      最近更新 更多