批处理脚本 - 输入/输出


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

这三个标准文件中的每一个(也称为标准流)均使用数字 0、1 和 2 进行引用。Stdin 是文件 0,stdout 是文件 1,stderr 是文件 2。

重定向输出(Stdout 和 Stderr)

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

Dir C:\ > list.txt

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

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

Dir C:\ 2> list.txt

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

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

抑制程序输出

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

Dir C:\ > NUL

标准输入

要使用标准输入,您必须使用解决方法来实现此目的。这可以通过重定向命令提示符自己的标准输入(称为 CON)来完成。

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

TYPE CON > lists.txt