about_Redirection
主题
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