上一节主要介绍了Powershell中常见的别名,以及怎么通过别名查看真实的Powershell命令,Powershell别名的命名规范以及如何新建自己的别名(Powershell内置别名不可更改)以及Powershell中兼容性别名,详细内容点击这里。
在本节主要包含以下内容。
Powershell命令自动补全功能。
在Powershell中使用cmd命令。
总结
Powershell中命令自动补全功能
Powershell命令自动补全的功能也称为Tab扩展,自动补全的功能可以大大提高命令输入的速度和准确度,在Powershell中通过Tab键来使用自动补全的功能。
文件名或路径的自动补全功能
如在某一路径下,想输入文件名,可以输入部分内容,按Tab键来补全。
PS C:\> cd D:\MyPowerShell PS D:\MyPowerShell> M<Tab>
按下Tab键时,Powershell会自动将该名称扩展为其找到的第一个匹配项。重复按 Tab 键将逐一显示所有可用选项。上面一条命令执行的结果如下
PS C:\> cd D:\MyPowerShell PS D:\MyPowerShell> .\Mandatory.ps1
如果想显示之前的选项,可以按Shift+Tab键来切换之前的选项。
cmdlet命令自动补全功能
cmdlet 命令的Tab 扩展略有不同。如果要对 cmdlet 名称使用 Tab 扩展,请输入命令名称的第一部分(动词)及其后面的连字符。可以填入名称的更多部分以进行更准确的匹配。例如,如果输入 get-co 然后按 Tab 键,PowerShell 会将其自动扩展为 Get-Command cmdlet(其字母大小写也将更改为标准形式,虽然Powershell命令不区分命令的大小写)。继续按 Tab 键,PowerShell 将使用仅有的另一个匹配 cmdlet 名称 Get-Content 替换上一名称,按Shift+Tab可以切换到上一条命令,即Get-Command。
可以在同一行上重复使用 Tab 扩展和Shift+Tab扩展。例如,可以通过输入以下命令来对 Get-Content cmdlet 的名称使用 Tab 扩展:
PS> Get-Con<Tab>
按 Tab 键时,该命令将扩展为:
PS> Get-Content
继续按 Tab 键时,该命令将扩展为:
PS> Get-Commond
按Shift+Tab键,又可以切换到上一条命令。
PS> Get-Content
注意: Tab 扩展的局限之处在于 Tab 始终被解释为尝试完成单词。如果根据命令无法匹配到任何一条合适的命令,Powershell不会出现预期的结果。
在Powershell中使用cmd命令
所有的Windows 命令都可以在Powershell中执行,而且可以在 Powershell 命令提示符下启动具有图形用户界面的 Windows 程序(如记事本,计算器,画图等)。还可以捕获 Windows 程序生成的文本(Windows命令执行的结果),并在 PowerShell 中使用进一步使用该文本内容。
举个例子,在Powershell中使用IPConfig命令。
PS D:\MyPowerShell> ipconfig Windows IP Configuration Ethernet adapter 本地连接: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.124 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.25.1
也可以使用 PowerShell cmdlet(如 Select-String)处理 Windows 程序返回的文本。
PS D:\MyPowerShell> ipconfig | Select-String -Pattern 255 Subnet Mask . . . . . . . . . . . : 255.255.255.0
上面命令使用管道运算符(|)将 IPConfig 命令的结果发送到 PowerShell的 Select-String cmdlet,Select-String会搜索Window命令程序执行结果的字符串中的文本。上面的命令是查找包含255的内容。
当 Windows 命令或工具带有参数时,如 Shutdown 的“-r”(重新启动)参数,PowerShell 会将参数传递给该工具而不解释它们。
需要注意的是,如果该工具使用 PowerShell 保留字或者使用 PowerShell 不熟悉的命令格式,如 Nant 的“-D:debug=false”参数(PowerShell 将此参数解释为两个参数:“-D”和“debug=false”),请用引号将参数括起来,以指示 PowerShell 应该将参数发送给该工具而不进行解释。
总结
通过学习本节,应当掌握以下内容。
会使用Powershell的命令自动补全功能。
了解所有的Windows命令都可以在Powershell中执行。