我想使用的Evernote的ENScript.exe创造新的记录,输入文字和标题作为参数。 问题是,ENSCRIPT只允许通过文件或通过标准输入要输入的文字。
对于我目前的解决方法我用一个.bat文件写入参数文件中,然后调用ENSCRIPT与/s
参数指向文件中读取它,但强制默认标题临时文件的文件名(行为我不要)。
所以我的问题是:有没有一种方法来“假冒”的Windows命令行,这样我可以用一个参数(从另一个程序通过)来生成注释文本上的标准输入? 脚本的开始会是这样的
ENScript.exe createNote /i %1
与标准输入以下。
您正在寻找捕捉一个命令的输出并且将其作为输入到下一个管作业。 这是大多数操作系统中的标准功能。
对于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"
。