可能是最基本的问题,但要么我找不到答案,要么我不知道用什么词来搜索。
我有一个命令行程序,它在调用。exe之后接受三个文件名。我还设计了一个程序来运行这个程序并自动测试它的输出。所以情况是,我正在运行一个程序,需要给它指令,告诉它如何运行另一个程序。通过程序的约束,我需要提供一个执行模型的单行命令。我的问题是:如何在MS DOS命令提示符中1)执行程序,2)在一个命令中提供三个已知的文件名。
谢谢!
进一步上下文:这两个程序不是我写的,而是两个命令行可执行文件。"第一个"程序是一个通过命令提示符运行的简单模型。第二个是校准程序,它需要运行模型(可能数百次)来校准某些输入参数。因此,我需要告诉校准程序如何运行模型。但是,我需要在一行或批处理文件中完成。
我相信你是在寻找所谓的"管道"。一个程序的输出被馈送到另一个程序的输入。这在一个命令行中表示。
例如,dir
生成一个行序列,sort
读取行,对它们进行排序并将它们写出来。
dir | sort
你可以随心所欲地将许多程序连接在一起,并传递它们需要的任何参数。
dir | find "2013" | sort
编辑:根据您的评论进行更新。
如果第二个程序只是读取第一个程序的输出,那么你可以这样做:
first <filelist.txt | second
,其中filelist.txt是包含first
程序所需的三个响应的文本文件。<
意味着first
不会读取输入的内容,而是从文件中读取。
我想这可以。
C:>program.exe "file1" "file2" "file3"