• 使用 Powershell 检索不理解的命令


    使用 Powershell 检索不理解的命令


    尝试使用 Powershell 完成 Powershell 的命令行

    使用 Powershell 时,有时您会忘记某个 cmdlet 或想要了解哪些 cmdlet 可用。在这种情况下,最好在互联网上查找,但您也可以使用 Powershell 函数来完成。

    以下方法对于使用 Powershell 调查 Powershell 非常有用。

    • 输入补全
    • 搜索 cmdlet
    • 寻求帮助

    输入补全


    说“搜索”可能有点轻描淡写,但 Powershell 有一个功能可以完成您部分键入的 cmdlet。它具有与 Linux shell 相同的功能。

    • 输入 cmdlet 的一部分并按Tab
    • 一半输入 cmdlet,然后按Ctrl + 空格键

    此功能使您可以更快地键入 cmdlet,而无需记住确切的拼写。补全可用于输入命令和选项、选择文件路径以及选择常量。

    如果您输入 cmdlet 的一部分,然后按Tab 键,则您输入的部分命令将被完成。如果再次按Tab,将会出现更多建议。如果您想返回显示的候选,请按Shift + Tab 。

    PS C:\Users\Main> Get-help Get-Chil       #部分入力然后按Tab键
    PS C:\Users\Main> Get-help Get-ChildItem #命令会自动补充完成
    
    • 1
    • 2

    使用Ctrl + Space完成时,将显示所有可能的完成,您可以使用箭头键选择一个。当一个选项完成后,底部会显示该选项的格式和可能的值等信息。

    PS > Get-Net                       #输入到Get-Net然后 按  Ctrl + Space
    PS > Get-Net6to4Configuration      #能够选择表示出来的命令行列表  
    Get-Net6to4Configuration                     Get-NetIPAddress
    Get-NetAdapter                               Get-NetIPConfiguration
    ・・・・・・・
    
    PS > Get-ChildItem -    # 输入到这里,然后Ctrl + Space
    PS > Get-ChildItem -Path   # 可以显示并选择候选选项。
    Path                 Depth                File                 ErrorAction          OutVariable
    LiteralPath          Force                Hidden               WarningAction        
    
    [string[]] Path    # 进而,在最下方显示可选地指定的值等信息。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    搜索 cmdlet


    您可以使用Get-Command搜索 cmdlet 。如果在Get-Command参数中输入 cmdlet 名称,则会显示 cmdlet 名称。

    PS> get-command Get-ChildItem
    
    CommandType     Name                                               Version    Source
    -----------     ----                                               -------    ------
    Cmdlet          Get-ChildItem                                      3.1.0.0    Microsoft.PowerShell.Management
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    只看这个输出,我不知道有用的 cmdlet 是什么。(通配符)可以在Get-Command参数中指定。您可以通过指定 来搜索 cmdlet。

    PS > get-command Get-C*dItem
    
    CommandType     Name                                               Version    Source
    -----------     ----                                               -------    ------
    Cmdlet          Get-ChildItem                                      3.1.0.0    Microsoft.PowerShell.Management
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Powershell cmdlet 具有 - 结构。 使用Get-Command ,您可以通过指定-Noun指定名词部分或通过指定-Verb指定动词部分进行搜索。在已发布的模块 cmdlet 中,通常将字符串添加到名词部分的开头以帮助识别模块。它的设计使您甚至可以按名称搜索 cmdlet。

    # 搜索名字的时候
    PS > Get-Command -Noun Item
    
    CommandType     Name                                               Version    Source
    -----------     ----                                               -------    ------
    Cmdlet          Clear-Item                                         3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Copy-Item                                          3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Get-Item                                           3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Invoke-Item                                        3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Move-Item                                          3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          New-Item                                           3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Remove-Item                                        3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Rename-Item                                        3.1.0.0    Microsoft.PowerShell.Management
    Cmdlet          Set-Item                                           3.1.0.0    Microsoft.PowerShell.Management
    
    # 同时锁定动词部分
    PS > Get-Command -Noun Item -Verb Get
    
    CommandType     Name                                               Version    Source
    -----------     ----                                               -------    ------
    Cmdlet          Get-Item                                           3.1.0.0    Microsoft.PowerShell.Management
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    通过使用-Module指定模块,您可以检查该模块提供的 cmdlet。这使您即使对于在线信息很少的模块也可以知道提供了哪些命令。

    # 在安装了Selenium的模块之后,查找可以使用的命令列。
    > Get-Command -Module Selenium
    
    CommandType     Name                                               Version    Source
    -----------     ----                                               -------    ------
    Alias           Enter-SeUrl                                        3.0.1      Selenium
    Alias           Find-SeElement                                     3.0.1      Selenium
    Alias           Start-SeLegacyEdge                                 3.0.1      Selenium
    Function        Clear-SeAlert                                      3.0.1      Selenium
    Function        Get-SeCookie                                       3.0.1      Selenium
    .......
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    查找 cmdlet 信息


    有关 cmdlet 的信息可以使用Get-Help找到。或者,您可以通过向 cmdlet 添加-?参数来检查 cmdlet 信息。不过,它是英文的。

    通过使用cmdlet 参数-Detailed和-Full,您可以指定要显示的信息的数量和内容。

    PS C:\Users\Main> Get-help Get-ChildItem -Parameter * #显示所有参数的信息
    
    -Attributes <System.Management.Automation.FlagsExpression`1[System.IO.FileAttributes]>
        {{Fill Attributes Description}}
    
        必須                         false
        位置                         named
        既定値                       None
       允许输入输油管   False
        允许通配符字符 false
    
    
    -Depth <UInt32>
        {{Fill Depth Description}}
    ・
    ・
    ・
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    如果你会说英语,这将是一个非常有用的功能。如果您的主要语言是日语,老实说在互联网上查找会更快。如果参考使用示例,只看一眼就可以大概知道如何使用。

    如果您不想在线搜索,可以使用Get-Help和-online参数从浏览器显示在线帮助。

    当您使用Function编写 cmdlet时,您还可以嵌入基于注释的帮助。


  • 相关阅读:
    leetcode1(没写完,我恨尉佳琦)
    2023.9.23(对这一年过去几个月的总结)
    CGAL AABB树
    校园水电费管理微信小程序的设计与实现+ssm(lw+演示+源码+运行)
    0基础学习VR全景平台篇 第108篇:全景图细节处理(下,航拍)
    字节一面:HTTPS 会加密 URL 吗?
    【Spring】@Transactional常用参数使用示例、以及常见的一些坑
    使用aop注解,实现日志增强,增强方式为前置,后置,环绕
    Python识别验证码----顶象面积验证
    猿创征文 | 2022 我的开发者工具
  • 原文地址:https://blog.csdn.net/weixin_43810067/article/details/133688676