zoukankan      html  css  js  c++  java
  • Char 06 管道:连接命令

    Desc :

      PowerShell 的 管道 ,类似于 Unix 中的 Shell 

    1  Dir | More

    2  输出结果到 csv or html ]

      1)  Get-Process | Export-CSV process.csv

            几乎可以把所有的  Get-Cmdlet 的 用管道输出到 CSV 

         Notepad process.csv 

            可以发现 , CSV 中的数据,多于 命令行中,显示的信息 , 因为 PowerShell 使用的 微软提供的配置文件,将 最重要的信息,显示到屏幕上

         Import-CSV process.csv

          

      2)  Get-Process | Export-CliXML.xml

         Import-CliXML XX.xml

         NOTE :

          所有的 Export-XXX , Import-XXX 的 cmdlets 都强制需要提供 文件名作为 参数

        

    PS C:windowssystem32> Get-Command -verb Import
    
    CommandType     Name                                               ModuleName                                                                                                                                  
    -----------     ----                                               ----------                                                                                                                                  
    Function        Import-IseSnippet                                  ISE                                                                                                                                         
    Cmdlet          Import-AGRestApi                                   AWSPowerShell                                                                                                                               
    Cmdlet          Import-Alias                                       Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Import-BinaryMiLog                                 CimCmdlets                                                                                                                                  
    Cmdlet          Import-Clixml                                      Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Import-Counter                                     Microsoft.PowerShell.Diagnostics                                                                                                            
    Cmdlet          Import-Csv                                         Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Import-EC2Image                                    AWSPowerShell                                                                                                                               
    Cmdlet          Import-EC2Instance                                 AWSPowerShell                                                                                                                               
    Cmdlet          Import-EC2KeyPair                                  AWSPowerShell                                                                                                                               
    Cmdlet          Import-EC2Snapshot                                 AWSPowerShell                                                                                                                               
    Cmdlet          Import-EC2Volume                                   AWSPowerShell                                                                                                                               
    Cmdlet          Import-LocalizedData                               Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Import-Module                                      Microsoft.PowerShell.Core                                                                                                                   
    Cmdlet          Import-PSSession                                   Microsoft.PowerShell.Utility               
    PS C:windowssystem32> Get-Command -verb Export
    
    CommandType     Name                                               ModuleName                                                                                                                                  
    -----------     ----                                               ----------                                                                                                                                  
    Cmdlet          Export-Alias                                       Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Export-BinaryMiLog                                 CimCmdlets                                                                                                                                  
    Cmdlet          Export-Clixml                                      Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Export-Console                                     Microsoft.PowerShell.Core                                                                                                                   
    Cmdlet          Export-Counter                                     Microsoft.PowerShell.Diagnostics                                                                                                            
    Cmdlet          Export-Csv                                         Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Export-FormatData                                  Microsoft.PowerShell.Utility                                                                                                                
    Cmdlet          Export-ModuleMember                                Microsoft.PowerShell.Core                                                                                                                   
    Cmdlet          Export-PSSession                                   Microsoft.PowerShell.Utility                                                                                                                

      3  对比文件

        Export-CliXML 比 Export-CSV 包含更多的信息    

        

    PS D:	est_powershell> diff -ReferenceObject (Import-Clixml  .efore.xml) -DifferenceObject ( Import-Clixml .after.xml )
    
    InputObject                                                                                             SideIndicator                                                                                          
    -----------                                                                                             -------------                                                                                          
    System.Diagnostics.Process (YoudaoDictHelper)                                                           =>                                                                                                     
    System.Diagnostics.Process (YoudaoIE)                                                                   =>                                                                                                     
    System.Diagnostics.Process (YoudaoWSH)                                                                  =>                                                                                                     
    System.Diagnostics.Process (ZhuDongFangYu)                                                              =>                                                                                                     

    3  管道 传输到 文件 或者 打印机上

    PS D: est_powershell> dir > directorylist.txt

    PS D: est_powershell> Dir | Out-File .directorylist_2.txt  【底层调用】

    PS D:	est_powershell> Dir | Out-Default | Out-Host
    
    
        目录: D:	est_powershell
    
    
    Mode                LastWriteTime     Length Name                                                                                                                                                              
    ----                -------------     ------ ----                                                                                                                                                              
    -a---         2016/6/20     11:12   20117840 after.xml                                                                                                                                                         
    -a---         2016/6/20     11:11   19724196 before.xml                                                                                                                                                        
    -a---         2016/6/20     11:17       2458 directorylist.txt                                                                                                                                                 
    -a---         2016/6/20     11:17       2928 directorylist_2.txt                                                                                                                                              HT

      Note : help Out* == Get-Command Out* == Get-Command -Verb Out

    4  转换成 HTML 

      Get-Service | ConvertTo-HTML | Out-File services.html

      ConvertTo-HTML | Out-File services.html == Export-XX 

      存在的意义?

        有时,只想转换,而不保存

      

    PS D:	est_powershell> Help ConvertTo*
    
    Name                              Category  Module                    Synopsis                                                                                                                                 
    ----                              --------  ------                    --------                                                                                                                                 
    ConvertTo-Csv                     Cmdlet    Microsoft.PowerShell.U... 将对象转换为一系列逗号分隔值 (CSV) 可变长度字符串。                                                                                                            
    ConvertTo-Html                    Cmdlet    Microsoft.PowerShell.U... 将 Microsoft .NET Framework 对象转换为可在 Web 浏览器中显示的 HTML。                                                                                     
    ConvertTo-Json                    Cmdlet    Microsoft.PowerShell.U... 将对象转换为 JSON 格式的字符串                                                                                                                       
    ConvertTo-Xml                     Cmdlet    Microsoft.PowerShell.U... 创建对象的基于 XML 的表示形式。                                                                                                                       
    ConvertTo-SecureString            Cmdlet    Microsoft.PowerShell.S... ...                                                                                                                                      

    5  使用 Cmdlets 修改系统 : 终止进程 和 停止服务

      Get-Process | Stop-Process :会依次检索&& stop , 会宕机哦

      Get-Process -name Notepad | Stop-Process

      

    PS D:	est_powershell> $ConfirmPreference
    High

      对于 Stop-Process , 会 询问 Are You Sure ?

      Get-Service -name Notepad | Stop-Process -confirm 

        每一次 都询问

      

    6  常见误区

      在 PowerShell 中, Export-XX , Import-XX , 是一组命令, Import-XX ,会 尝试解析,编译这些数据

      仅从 一个文本文件中读取内容,而不需要解析数据时,才使用 Get-Content, 只用于,只需要,原始内容时

    Test :

      Export-CSV  改变默认的分隔符

        

  • 相关阅读:
    集合选数
    二分答案入门乱讲
    浅谈搜索剪枝
    数位DP
    RMQ问题与ST算法
    计数排序与基数排序
    主席树/函数式线段树/可持久化线段树
    树链剖分
    LCA问题
    树的直径、树的重心与树的点分治
  • 原文地址:https://www.cnblogs.com/Nancy0401/p/5600195.html
Copyright © 2011-2022 走看看