批处理脚本 - 输入/输出



键盘输入、屏幕文本打印和屏幕错误打印有三个通用的“文件”。“标准输入”文件,称为stdin,包含程序/脚本的输入。“标准输出”文件,称为stdout,用于将输出写入屏幕显示。最后,“标准错误”文件,称为stderr,包含任何要显示在屏幕上的错误消息。

这三个标准文件,也称为标准流,分别用数字 0、1 和 2 引用。Stdin 是文件 0,stdout 是文件 1,stderr 是文件 2。

重定向输出(Stdout 和 Stderr)

批处理文件中的一个常见做法是将程序的输出发送到日志文件。> 运算符将 stdout 或 stderr 发送或重定向到另一个文件。以下示例显示了如何执行此操作。

Dir C:\ > list.txt

在上面的示例中,命令 Dir C:\ 的stdout 被重定向到文件 list.txt。

如果将数字 2 附加到重定向过滤器,则它将stderr重定向到文件 lists.txt。

Dir C:\ 2> list.txt

甚至可以使用文件编号和“&”前缀组合stdoutstderr流。以下是一个示例。

DIR C:\ > lists.txt 2>&1

抑制程序输出

伪文件 NUL 用于丢弃程序的任何输出。以下示例显示命令 DIR 的输出通过将输出发送到 NUL 而被丢弃。

Dir C:\ > NUL

Stdin

要使用 Stdin,您必须使用解决方法来实现此目的。这可以通过重定向命令提示符本身的 stdin(称为 CON)来完成。

以下示例显示了如何将输出重定向到名为 lists.txt 的文件。执行以下命令后,命令提示符将接收用户输入的所有内容,直到收到 EOF 字符。稍后,它将所有输入发送到文件 lists.txt。

TYPE CON > lists.txt
广告