主题 about_Redirection 简短说明 介绍如何将 Windows PowerShell 输出重定向到文本文件。 详细说明 默认情况下,Windows PowerShell 将其命令输出发送至 Windows PowerShell 控制台。但是, 也可以将输出重定向至一个文本文件,或将错误输出重定向至常规输出流。 可以使用以下方法重定向输出: - 使用 Out-File cmdlet,该 cmdlet 将命令输出发送至一个文本文件。通常在需要使用 Out-File cmdlet 的参数(例如 Encoding、Force、Width 或 NoClobber 参数)时 使用该 cmdlet。 - 使用 Tee-Object cmdlet,该 cmdlet 将命令输出发送至一个文本文件,然后将其发送至 管道。 - 使用 Windows PowerShell 重定向运算符。 Windows PowerShell 重定向运算符如下。 运算符 说明 示例 -------- ---------------------- ------------------------------ > 将输出发送到指定文件。 get-process > process.txt >> 将输出追加到指定文件的内容。 dir *.ps1 >> scripts.txt 2> 将错误发送到指定文件。 get-process none 2> errors.txt 2>> 将错误追加到指定文件的内容。 get-process none 2>> save-errors.txt 2>&1 将错误发送到成功输出流。 get-process none, powershell 2>&1 重定向运算符的语法如下: <input> <operator> [<path>\]<file> 如果指定的文件已存在,则不追加数据的重定向运算符(> 和 2>)将在不发出警告的情况下覆盖文件 当前内容。但是,如果该文件是只读、隐藏或系统文件,则重定向将会失败。追加重定向运算符(>> 和 2>>)不会写入只读文件,但会在系统或隐藏文件中追加内容。 要将内容强制重定向到只读、隐藏或系统文件,请带 Force 参数使用 Out-File cmdlet。当写入 文件时,重定向运算符使用 Unicode 编码。如果文件采用的是不同的编码,可能无法正确设置输出的 格式。要将内容重定向到非 Unicode 文件,请带 Encoding 参数使用 Out-File cmdlet。 另请参阅 Out-File Tee-Object about_Operators about_Command_Syntax about_Path_Syntax