我正在尝试编写一个 .bat 文件来自动化一些 shell 命令。大多数命令都很简单,我可以直接将它们放入批处理文件中,但是有一个命令不是采用命令行参数,而是希望您使用“标准输入”键入您想要的选项。我不确定那是什么意思。有人可以告诉我该怎么做吗?我想输入的文本是目录中一个文件的内容:“options.txt”,我想将它与批处理文件“$(additionaloptions)”中的变量连接起来。
有道理?
我正在尝试编写一个 .bat 文件来自动化一些 shell 命令。大多数命令都很简单,我可以直接将它们放入批处理文件中,但是有一个命令不是采用命令行参数,而是希望您使用“标准输入”键入您想要的选项。我不确定那是什么意思。有人可以告诉我该怎么做吗?我想输入的文本是目录中一个文件的内容:“options.txt”,我想将它与批处理文件“$(additionaloptions)”中的变量连接起来。
有道理?
在 .bat 文件中执行此操作的常用方法是使用 echo 写入一个小文本文件,然后将文本文件重定向到命令的标准输入。
@echo foo > bar.txt
@echo if you need multiple lines >> bar.txt
the_cmd < bar.txt
在您的具体示例中,它类似于
copy myfile.txt bar.txt
@echo %variable% >> bar.txt
您提到 $(variable) 的事实向我表明这是一个生成文件而不是批处理文件。对于makefile,有更好的方法。