我想使用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] 举报,一经查实,本站将立刻删除。