【问题标题】:How to run multiple scripts in sequence using command prompt如何使用命令提示符按顺序运行多个脚本
【发布时间】:2016-04-21 16:11:16
【问题描述】:

我需要对现场可编程门阵列 (FPGA) 设计的综合后硬件描述语言 (HDL) 文件进行某种修改。我在该设计过程中使用 Microsemi 的 Libero 片上系统 (SoC) 工具。

总共有三个不同的设计过程,例如

  1. 预修改过程
  2. 修改过程
  3. HDL 代码的后修改过程

所有三个步骤都需要使用 Windows 命令行按顺序执行。我为第一个和第三个进程编写了一个 Tcl 脚本,为第二个进程编写了一个 Perl 脚本。在第一个和第三个过程中,会通过命令行调用一些用于综合、仿真、布局布线的FPGA设计工具。

这是作品的总体思路。我的问题是如何在命令行中使用单个脚本(或任何其他文件格式)依次运行所有三个不同的脚本(Tcl、Perl 和 Tcl)?

注意:只需几步,就可以通过STDIN获取用户数据。我在windows平台工作..

【问题讨论】:

  • 有什么理由可以将这三个命令放入一个 shell 命令文件并运行它?
  • cmd.exe 可以运行管道。甚至command.com 在糟糕的旧 DOS 时代也这样做了,而且从我记得或搜索的那一刻起就一直这样做。您只需让每个脚本从标准输入读取并写入标准输出……
  • 致Borodin ....我不太了解shell命令文件,所以我尝试一下...任何相关的文档或示例代码都会非常有帮助。

标签: perl batch-file command-line tcl stdin


【解决方案1】:

创建一个批处理文件(扩展名 .bat)类似于:

start /b tcl script1
start /b perl script1
start /b tcl script2

【讨论】:

  • 谢谢Sharad...它同时运行所有脚本,但我希望按顺序运行,即script2应该在script1完成后启动...
  • 顺序应该更简单。删除“start /b”,命令将按顺序运行。
  • 是的,它的工作原理...正如我在注释中提到的,在执行 perl 脚本时,我需要通过 STDIN 获取用户数据,当 perl 脚本通过批处理文件运行时是否可以获取用户数据??
  • 是的。删除 /b 标志并尝试
【解决方案2】:

我不熟悉Tcl,但使用Perl 的示例是(来自DOS 命令行):

perl hi.pl > log.txt & perl mid.pl >> log.txt & perl low.pl >> log.txt

3 个perl 脚本连续运行,所有 3 个脚本的输出都放在一个名为 log.txt 的文件中。

您可以根据需要合并STDIN

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多