* エイリアス Set-Alias Get-Alias他 [#n2e29246]

** コマンドレットのエイリアス作成 [#xce68be9]

 Set-Alias myls Get-ChildItem

*** オプション付きのコマンドレットのエイリアスを作成 [#m49ab625]

 Remove-Item alias:ls
 function ls() {
   gci $args | fw -column 4
 }

- PowerShellのエイリアスはコマンドレットにオプションを指定出来ないので(Set-Alias ls "gci -r"みたいなのは出来ない)、ファンクションを使う。
- エイリアスはファンクションに優先するので、すでにエイリアスがある場合は削除してから、ファンクションを作成する。

*** 実行ファイル(EXE)のエイリアスを作成 [#z8b765fc]

 Set-Alias mynotepad ("notepad.exe")
 Set-Alias mychrome ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")

- PATHに通ってないEXEならフルパスで指定する
- 引用符""でくくるのでパス名にスペースを含んでもOK

*** オプション付きの実行ファイル(EXE)のエイリアスを作成 [#we5c5fec]

 function mychrome() {
     Start-Process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList "--incognito"
 }

- Start-Processで外部プロセスを実行し、その際に-ArgumentListでオプション(コマンド引数)を指定する

*** 環境変数を展開してオプション付きの実行ファイル(EXE)のエイリアスを作成 [#mef27ff2]
 function mychrome() {
    $x = "--user-data-dir=`"" + $env:USERPROFILE + "\my chrome profile`""
    $args += $x
    Start-Process "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList $args
 }

- PowerShell内で変数$xにオプション文字列を格納する
- この時、値であるディレクトリパスにスペースが含まれることを想定して引用符""でくるむが、このままではPowerShell内でそれが展開されてしまうので`(バッククォート)でエスケープする
- できた$xを$args配列にpushする
- -ArgumentListに$argsを指定する

** エイリアス元のコマンドレットを探す [#h911ea1f]
 
 Get-Alias dir                                    
 > CommandType     Name                                               ModuleName  
 > -----------     ----                                               ----------  
 > Alias           dir -> Get-ChildItem                                           

** あるコマンドレットのエイリアス名を探す [#pd71f40f]
 Get-Alias -Definition Get-ChildItem* 
 > Get-Alias -Name Get-ChildItem*       
 > Get-Alias -Name Get-ChildItem*       
 > Get-Alias -Definition Get-ChildItem*

** エイリアスを削除する [#l5bc56ce]
 Remove-Item alias:ls



** 参考 [#td96f1a4]
- Get-Alias http://technet.microsoft.com/ja-jp/library/ee176839.aspx
- Set-Alias http://technet.microsoft.com/ja-jp/library/ee176958.aspx
- Start-Process https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-5.1
- http://huddledmasses.org/powershell-power-user-tips-bash-style-alias-command/

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS