亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PowerShell > 正文

Windows Powershell 別名

2020-03-26 19:19:01
字體:
來源:轉載
供稿:網友

簡短描述
在Windows PowerShell中, 別名就是cmdlets或其他命令的替代名稱.

詳細描述
別名就是cmdlet或者命令(例如: 函數, 腳本, 文件, 可執行文件. )的替代名稱或者說是個昵稱. 在使用命令的地方, 你都可以使用別名.

cmdlet 的名稱由一個動詞和一個名詞組成,其功能對用戶來講一目了然。但是對于一個經常使用powershell命令的人每天敲那么多命令也很麻煩啊。能不能把命令縮短一點呢?于是“別名”就應運而生了。Powershell內部也實現了很多常用命令的別名。例如Get-ChildItem,列出當前的子文件或目錄。它有兩個別名:ls 和 dir,這兩個別名來源于unix 的shell和windows的cmd。
因此別名有兩個作用:

繼承:繼承unix-shell和windows-cmd。
方便:方便用戶使用。
處理別名:
查詢別名所指的真實cmdlet命令。

PS C:/PS> Get-Alias -name lsCommandType   Name                        Definition-----------   ----                        ----------Alias      ls                         Get-ChildItemPS C:/PS> Get-Alias -name dirCommandType   Name                        Definition-----------   ----                        ----------Alias      dir                         Get-ChildItemPS C:/PS> Get-Alias -name flCommandType   Name                        Definition-----------   ----                        ----------Alias      fl                         Format-ListPS C:/PS> Get-Alias -name ftCommandType   Name                        Definition-----------   ----                        ----------Alias      ft                         Format-Table

查看可用的別名
查看可用的別名,可以通過” ls alias:” 或者 ”Get-Alias“
如何查看所有以Remove打頭的cmdlet的命令的別名呢?

PS C:/PS> dir alias: | where {$_.Definition.Startswith("Remove")}CommandType   Name                        Definition-----------   ----                        ----------Alias      del                         Remove-ItemAlias      erase                        Remove-ItemAlias      rbp                         Remove-PSBreakpointAlias      rd                         Remove-ItemAlias      rdr                         Remove-PSDriveAlias      ri                         Remove-ItemAlias      rjb                         Remove-JobAlias      rm                         Remove-ItemAlias      rmdir                        Remove-ItemAlias      rmo                         Remove-ModuleAlias      rp                         Remove-ItemPropertyAlias      rsn                         Remove-PSSessionAlias      rsnp                        Remove-PSSnapinAlias      rv                         Remove-VariableAlias      rwmi                        Remove-WMIObject

說明:dir alias:獲取的是別名的數組,通過where對數組元素進行遍歷,$_代表當前元素,alias的Definition為String類型,因為powershell支持.net,.net中的string類有一個方法Startswith。通過where過濾集合在powershell中使用非常廣泛。

有的cmdlet命令可能有2-3個別名,我們可以通過下面的命令查看所有別名和指向cmdlet的別名的個數。

PS C:/PS> ls alias: | Group-Object definition | sort -Descending CountCount Name           Group----- ----           -----  6 Remove-Item        {del, erase, rd, ri...}  3 Set-Location       {cd, chdir, sl}  3 Get-History        {ghy, h, history}  3 Get-ChildItem       {dir, gci, ls}  3 Get-Content        {cat, gc, type}  3 Move-Item         {mi, move, mv}  3 Copy-Item         {copy, cp, cpi}  2 Start-Process       {saps, start}  2 Set-Variable       {set, sv}  2 Write-Output       {echo, write}  2 Get-Process        {gps, ps}  2 Invoke-History      {ihy, r}  2 New-PSDrive        {mount, ndr}  2 Stop-Process       {kill, spps}  2 Rename-Item        {ren, rni}  2 Get-Location       {gl, pwd}  2 Compare-Object      {compare, diff}  2 Where-Object       {?, where}  2 ForEach-Object      {%, foreach}  2 Clear-Host        {clear, cls}  1 Out-Host         {oh}  1 New-PSSession       {nsn}  1 New-Variable       {nv}  1 Out-GridView       {ogv}  1 Pop-Location       {popd}  1 Tee-Object        {tee}  1 Remove-PSBreakpoint    {rbp}  1 Receive-Job        {rcjb}  1 Push-Location       {pushd}  1 mkdir           {md}  1 Measure-Object      {measure}  1 help           {man}  1 Remove-PSSnapin      {rsnp}  1 Out-Printer        {lp}  1 New-Item         {ni}  1 New-Module        {nmo}  1 New-Alias         {nal}  1 Move-ItemProperty     {mp}  1 Wait-Job         {wjb}  1 Remove-PSDrive      {rdr}  1 Start-Service       {sasv}  1 Set-PSBreakpoint     {sbp}  1 Set-ItemProperty     {sp}  1 Start-Job         {sajb}  1 Set-Alias         {sal}  1 Start-Sleep        {sleep}  1 Set-Item         {si}  1 Select-Object       {select}  1 Set-Content        {sc}  1 Sort-Object        {sort}  1 Remove-WMIObject     {rwmi}  1 Remove-Module       {rmo}  1 Rename-ItemProperty    {rnp}  1 Stop-Service       {spsv}  1 Set-WMIInstance      {swmi}  1 Remove-Job        {rjb}  1 Remove-Variable      {rv}  1 Resolve-Path       {rvpa}  1 Stop-Job         {spjb}  1 Remove-ItemProperty    {rp}  1 Remove-PSSession     {rsn}  1 Exit-PSSession      {exsn}  1 Format-Custom       {fc}  1 Enter-PSSession      {etsn}  1 Export-Csv        {epcsv}  1 Export-PSSession     {epsn}  1 Format-List        {fl}  1 Get-PSBreakpoint     {gbp}  1 Get-Command        {gcm}  1 Get-Alias         {gal}  1 Format-Table       {ft}  1 Format-Wide        {fw}  1 Export-Alias       {epal}  1 Clear-History       {clhy}  1 Clear-Item        {cli}  1 Clear-Content       {clc}  1 Add-Content        {ac}  1 Add-PSSnapIn       {asnp}  1 Clear-ItemProperty    {clp}  1 Disable-PSBreakpoint   {dbp}  1 Enable-PSBreakpoint    {ebp}  1 Convert-Path       {cvpa}  1 Clear-Variable      {clv}  1 Copy-ItemProperty     {cpp}  1 Invoke-Expression     {iex}  1 Invoke-Item        {ii}  1 Invoke-Command      {icm}  1 Get-Variable       {gv}  1 Get-WmiObject       {gwmi}  1 Import-Alias       {ipal}  1 powershell_ise.exe    {ise}  1 Invoke-WMIMethod     {iwmi}  1 Import-PSSession     {ipsn}  1 Import-Csv        {ipcsv}  1 Import-Module       {ipmo}  1 Get-Unique        {gu}  1 Get-Job          {gjb}  1 Get-Member        {gm}  1 Get-Item         {gi}  1 Get-PSCallStack      {gcs}  1 Get-PSDrive        {gdr}  1 Get-Module        {gmo}  1 Get-PSSnapIn       {gsnp}  1 Get-Service        {gsv}  1 Get-PSSession       {gsn}  1 Get-ItemProperty     {gp}  1 Group-Object       {group}

創建自己的別名
給記事本創建一個別名,并查看該別名;

PS C:/PS> Set-Alias -Name Edit -Value notepadPS C:/PS> EditPS C:/PS> $alias:Editnotepad

刪除自己的別名
別名不用刪除,自定義的別名在powershell退出時會自動清除。但是請放心,powershell內置別名(諸如ls,dir,fl等)不會清除。如果你非得手工刪除別名。請使用

PS C:/PS> del alias:Edit保存自己的別名
可以使用Export-Alias將別名導出到文件,需要時再通過Import-Alias導入。但是導入時可能會有異常,提示別名已經存在無法導入:

PS C:/PS> Import-Alias alias.ps1Import-Alias : Alias not allowed because an alias with the name 'ac' already exists.At line:1 char:13+ Import-Alias <<<< alias.ps1  + CategoryInfo     : ResourceExists: (ac:String) [Import-Alias], SessionStateException  + FullyQualifiedErrorId : AliasAlreadyExists,Microsoft.PowerShell.Commands.ImportAliasCommand

這時可以使用Force強制導入。

PS C:/PS> Export-Alias alias.ps1PS C:/PS> Import-Alias -Force alias.ps1

 
例如, 如果你為Get-AuthenticodeSignature設置了別名"gas", 你可以直接輸入:

gas c:/scripts/sqlscript.ps1

 
而不必輸入:
 

get-authenticodesignature c:/scripts/sqlscript.ps1

如果你為微軟的Word設置了別名"word", 你可以直接輸入:
 
word
 
而不必輸入:
 
"c:/program files/microsoft office/office11/winword.exe"
 

預定義的別名

Windows PowerShell已經預定義了一部分別名, 例如: "cd"和"chdir"都是Set-Location的別名, "ls" 和"dir"是Get-Childitem的別名.
 
查找系統中的所有別名(包括預定別名), 輸入如下命令:
 
get-alias

別名相關的CMDLETS

Windows PowerShell包含了幾個cmdlets用于操作別名.
 
·         Get-Alias: 取得當前會話(session)中的別名. 
·         New-Alias: 創建一個新的別名.
·         Set-Alias: 創建或修改一個別名.
·         Export-Alias:  導出一個或多個別名到文件中.
·         Import-Alias:  導入一個別文件到Windows PowerShell.

 

需要cmdlets的詳細信息, 輸入:
 
get-help <cmdlet-name> -detailed
 
例如:
 
get-help export-alias -detailed
 
創建別名
創建一個新的別名, 可以使用New-Alias cmdlet. 例如, 要為Get-Help創建一個"gh"別名, 輸入,
 
new-alias -name gh -value get-help
 
你可以在命令中就好像你使用的完整的cmdlet名稱和各種參數一樣, 來使用這個別名.
 
例如, 取得Get-WmiObject cmdlet的詳細信息, 你只要輸入:
 
get-help get-wmiobject -detailed
 
或者
 
gh get-wmiobject -detailed
 
保存別名
你創建的別名只在當前的會話(session)有效. 要在不同的會話中使用別名, 你必須把別名的定義寫入你的Windows PowerShell配置文件, 或者使用Export-Alias將別名存儲到文件里.
 
查找別名
要在當前控制臺上顯示所有別名, 包括Windows PowerShell預定義的別名, 你的Windows PowerShell配置文件中定義的別名, 你在當前會話創建的別名, 只要輸入:
 
get-alias
 
如果需要特定的別名, 通過為Get-Alias指定Name參數即可. 例如, 要取得"p"開頭的別名, 輸入
 
get-alias -name p*
 
要查找特定cmdlet的所有別名, 可以輸入:
 
get-alias | where-object {$_.Definition -eq "<cmdlet-name>"}
 
例如:
 
get-alias | where-object {$_.Definition -eq "Remove-Item"}
 

為帶有參數的命令創建別名

你可以為cmdlet, 腳本, 函數, 或者可執行文件賦予別名. 但是你不能為帶有參數的命令設置別名. 例如, 你能夠為"Get-Eventlog"設置別名, 但是你不能為"Get-Eventlog -logname security"設置別名.
 
你只能通過創建一個包含該命令的函數來解決這個問題. 例如, 如下命令創建一個叫做”seclog"的函數, 此函數可以表示"get-eventlog -logname security”命令.
 
function seclog {get-eventlog -logname security}
 
現在你可以輸入用名字"seclog"來簡化之前的命令, 你還可以為函數"seclog"創建別名.
 
關于函數的信息, 輸入:
 
get-help about_function
 

別名對象

Windows PowerShell別名實際是類System.Management.Automation.AliasInfo的實例對象. 關于對象類型信息, 參見MSDN 中"AliasInfo Class"的主題.
 
要查看別名對象上的屬性和方法, 首先取得別名對象, 并且通過管道傳遞給Get-Member cmdlet. 例如,
 
get-alias | get-member
 
要查看特定別名的屬性值, 例如別名"dir", 取得該別名并通過管道傳遞給Format-List cmdlet. 例如, 如下代碼首先取得別名"dir"對象, 通過管道傳遞給Format-List cmdlet, 通過對Format-List的參數Property賦值為所有 (*), 來顯示別名"dir"的所有屬性.
 
get-alias -name dir | format-list -property *
 
WINDOWS POWERSHELL別名PROVIDER

Windows PowerShell別名provider(譯者注: 一個Provider就類似于用戶使用的文件系統目錄結構, 微軟開發人員通過MVC這種設計思想, 將變量, 注冊表, 別名等資源的管理, 抽象為文件系統的管理. 這樣用戶可以使用統一的語法對各種資源進行訪問. PowerShell開發人員, 也能為PowerShell擴展其他的Provider.) , 使得在Windows PowerShell中, 查看別名就像瀏覽文件系統驅動器一樣.
 
別名provider提供了"Alias:"驅動器(譯者注:虛擬驅動器, 只有在PowerShell中有效). 要進入Alias: 驅動器, 輸入:
 
set-location alias:
 
要查看該驅動器的內容, 輸入:
 
get-childitem
 
在Windows PowerShell其他的驅動器時, 如果想查看別名驅動器, 在目錄前要協商驅動器名稱, 緊跟著一個冒號(:). 例如,
 
get-childitem -path alias:
 
要取得特定別名的信息, 輸入驅動器名稱和別名名稱, 或名稱的模式(pattern. 筆者注: 一般使用的就是通配符. ). 例如, 要取得所有以"p"開頭別名的列表, 輸入:
 
get-childitem -path alias:p*
 
需要更多關于Windows PowerShell別名provider的信息, 輸入:
 
get-help alias-psprovider
 
 您還可以參考
要列出關于別名的cmdlets, 輸入:
 
get-help *-Alias
 
關于函數的信息, 輸入:
 
get-help about_function

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品视频| 欧美日韩国产影院| 6080yy精品一区二区三区| 久久精品久久久久久| 激情av一区二区| 国产suv精品一区二区三区88区| 欧美日韩国产一区二区| 中文字幕综合一区| 国产精品1区2区在线观看| 成人免费自拍视频| 亚洲国产高潮在线观看| 福利视频第一区| 亚洲精品在线观看www| 亚洲精品一区中文字幕乱码| 亚洲日本成人女熟在线观看| 中文字幕亚洲在线| 97久久国产精品| 欧美黄色片免费观看| 欧美老女人性生活| 精品国内自产拍在线观看| 亚洲色图18p| 高清日韩电视剧大全免费播放在线观看| 国产日韩欧美夫妻视频在线观看| 欧美色视频日本高清在线观看| 欧美一乱一性一交一视频| 91在线观看免费网站| 精品久久久久久久久久国产| 亚洲国内精品在线| 亚洲欧美成人网| 亚洲国产成人精品女人久久久| 久久久久久久久91| 亚洲男人天堂2019| 91精品国产自产在线| 欧美成人午夜免费视在线看片| 国产精品扒开腿做爽爽爽的视频| 国产精品扒开腿做爽爽爽的视频| 日韩av毛片网| 国产97人人超碰caoprom| 免费99精品国产自在在线| 久久久久久com| 亚洲最大福利网站| 精品女同一区二区三区在线播放| 亚洲一区久久久| 亚洲视频一区二区| 91精品在线一区| 亚洲欧美国产va在线影院| 久久久久亚洲精品成人网小说| 久久久精品电影| 91精品久久久久久久久久久| 少妇高潮 亚洲精品| 久久久久999| 国产精品视频26uuu| 中文字幕日韩免费视频| 亚洲精品欧美一区二区三区| 在线观看日韩av| 久久免费精品日本久久中文字幕| 亚洲精品日韩欧美| 国产精品久久久久久久久久ktv| 国产一区av在线| 欧美高清视频在线观看| 国产91精品不卡视频| 欧美另类极品videosbestfree| 国产精品欧美激情在线播放| 久久久999成人| 亚洲美女视频网站| 久久久久久久久久国产精品| 日韩最新在线视频| 俺去亚洲欧洲欧美日韩| 国产精品久久久久久久9999| 久久精品成人一区二区三区| 日韩亚洲精品视频| 国产精品69精品一区二区三区| 亚洲美女又黄又爽在线观看| 日本aⅴ大伊香蕉精品视频| 日韩专区中文字幕| 亚洲国产又黄又爽女人高潮的| 国产精品亚洲片夜色在线| 91免费精品国偷自产在线| 亚洲第一色中文字幕| 国产在线精品播放| 成人黄在线观看| 日本精品在线视频| 欧美亚洲视频一区二区| 亚洲欧美日韩精品久久奇米色影视| 国产精品高潮视频| 国产中文字幕亚洲| 亚洲国产第一页| 两个人的视频www国产精品| 黑人巨大精品欧美一区二区三区| 欧美特级www| 欧美日韩国产中字| 欧美日韩午夜视频在线观看| 国产精品三级美女白浆呻吟| 国产视频观看一区| 欧美性视频精品| 亚洲一区精品电影| 欧美日韩视频在线| 97人人爽人人喊人人模波多| 91精品国产综合久久久久久蜜臀| 亚洲综合成人婷婷小说| 欧美—级a级欧美特级ar全黄| 国产一区二区三区在线观看网站| 超碰日本道色综合久久综合| 精品亚洲一区二区三区| 亚洲欧美日韩久久久久久| 国产精品久久网| 岛国av在线不卡| 亚洲图片欧洲图片av| 日韩欧美亚洲范冰冰与中字| 欧美日韩福利在线观看| 成人黄色免费片| 欧美激情在线视频二区| 亚洲第一av网站| 日韩动漫免费观看电视剧高清| 最近的2019中文字幕免费一页| 97视频免费观看| 亚洲电影免费观看高清完整版| 亚洲综合在线中文字幕| 一本色道久久综合狠狠躁篇的优点| 欧美在线精品免播放器视频| 中文字幕精品久久久久| 日韩av大片免费看| 欧美国产乱视频| 国产亚洲视频在线观看| 成人黄色在线播放| 日韩av色综合| xx视频.9999.com| xvideos亚洲人网站| 欧美黄色免费网站| 久久最新资源网| 日韩黄色在线免费观看| 亚洲a区在线视频| 国产精品69精品一区二区三区| 黑人巨大精品欧美一区二区免费| 国产99在线|中文| 最近免费中文字幕视频2019| 久久影视电视剧免费网站清宫辞电视| 亚洲国产精品推荐| 91久久精品美女高潮| 66m—66摸成人免费视频| 欧美黑人性生活视频| 欧美肥臀大乳一区二区免费视频| 日韩在线免费高清视频| 日韩中文av在线| 久久夜色精品国产欧美乱| 欧美专区在线播放| 欧美日韩中文在线观看| 日韩电视剧免费观看网站| 亚洲女人被黑人巨大进入al| 亚洲人成网7777777国产| 欧美一区二区三区……| 亚洲福利视频网站| 91精品国产91久久久久福利| 久久天天躁狠狠躁老女人| 色噜噜狠狠色综合网图区| 国产欧美日韩精品专区| 欧美激情成人在线视频| 久久亚洲春色中文字幕| 91久久嫩草影院一区二区| 国产小视频国产精品| 中文字幕综合一区| 成人a级免费视频| 欧美麻豆久久久久久中文| 日韩av中文字幕在线免费观看|