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