伪造Windows命令行上的标准输入

Rya*_*yan 8 windows cmd evernote

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

对于我当前的解决方法,我使用.bat文件将参数写入文件,然后使用/s指向该文件的参数调用ENScript 以读取它,但这会强制默认标题为临时文件的文件名(我不这样做)想).

所以我的问题是:有没有办法在Windows命令行上"伪造"标准输入,以便我可以使用参数(从另一个程序传递)来生成注释文本?脚本的开头就像是

ENScript.exe createNote /i %1
Run Code Online (Sandbox Code Playgroud)

标准输入如下.

dbe*_*ham 10

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

Windows CMD的管道符号是 |

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

@echo %~2|@ENScript.exe createNote /i %1
Run Code Online (Sandbox Code Playgroud)

如果您的脚本名为MakeNote.bat,您可以将其称为

MakeNote "your title" "This is the text of your note"
Run Code Online (Sandbox Code Playgroud)