微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows命令行上伪装标准input

我想使用Evernote的ENScript.exe来创build新的笔记,input文本和标题作为参数。 问题是,ENScript只允许通过文件或通过标准inputinput文本。

对于我当前的解决方法,我使用.bat文件将参数写入文件,然后使用指向文件的/s参数调用ENScript来读取文件,但是强制标题为临时文件文件名(行为I不要)。

所以我的问题是:是否有办法在Windows命令行上“伪造”标准input,以便我可以使用从另一个程序传递的参数来生成注释文本? 脚本的开始会是这样的

ENScript.exe createNote /i %1

与标准input如下。

批处理:如何在parsing输出时纠正variables覆盖不当行为

如何删除子目录中与父目录中文件名称相同的文件

如何从命令提示符将特定文件一个文件夹复制到另一个文件

用pipe理员权限打开cmd(Windows 10)

在Windows cmd上启动Glassfish4空指针

如何在Windows中的Python中执行os.execv()而不从控制台分离?

在Windows命令行上运行raco

根据特定的标准Windowsbatch file提取特定的行

将%ComSpec%从cmd.exe更改为bash.exe

用户点击退出时执行批处理代码

您正在寻找一个管道操作,捕获一个命令的输出并将其作为输入发送到下一个命令。 这是大多数操作系统的标准功能

Windows CMD的管道符号是|

你的脚本可以像下面这样简单:

@echo %~2|@ENScript.exe createNote /i %1

如果你的脚本被称为MakeNote.bat,你会这样称呼它

MakeNote "your title" "This is the text of your note"

可以通过使用重定向来“伪造”标准输入:

command args... < filename args...

其中<表示输入重定向(“从<代替终端”之后的文件名读取标准输入)。

(请注意,旧的Windows或DOS程序可能会直接从终端上读取,导致输入重定向失效,希望不会像Evernote那样适用)。

举个例子:

ENScript.exe < "%1"

随意在重定向之前或之后添加更多的参数。 例如,如果您的脚本将被称为script filename title ,则需要调用ENScript /i "%2" < "%1" 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐