PowerShellで作業をしていて、こんなことを思ったことはありませんか?
- 「
Get-ChildItem
って毎回入力するの面倒…」 - 「よく使うコマンドを短くしたい」
- 「もっと効率的にPowerShellを使いたい」
そんなときに便利なのがエイリアス(Alias)です。
エイリアスを使えば、長いコマンドを短く呼び出せるようになり、日々の作業がスピードアップします。
まるでスマホの短縮ダイヤルのように、よく使うコマンドに短い名前を付けられるんです。
この記事では、PowerShellにおけるエイリアスの基本、設定方法、注意点、便利な活用例まで、初心者にも分かりやすく解説します。
PowerShellにおけるエイリアスとは?

簡単に言うと
エイリアスとは、特定のコマンドレットに対して短い名前を割り当てる仕組みです。
身近な例で考えてみよう
スマホの連絡先を例にしてみましょう:
- 正式名称:「田中太郎(会社)090-1234-5678」
- 短縮名:「田中さん」
PowerShellでも同じように:
- 正式名称:
Get-ChildItem
(ファイル一覧を表示) - 短縮名:
gci
やls
実際の使用例
# フルコマンド(正式名称)
Get-ChildItem
# エイリアス(短縮名)
gci
ls
dir
# どれも同じ結果:現在のフォルダのファイル一覧が表示される
エイリアスのメリット
メリット | 説明 | 例 |
---|---|---|
入力時間短縮 | 長いコマンドを短く入力 | Get-ChildItem → ls |
タイピングミス減少 | 短いので間違いが少ない | 覚えやすい短縮名 |
作業効率向上 | 反復作業が楽になる | 頻繁に使うコマンドで効果大 |
他システムとの互換性 | LinuxやUnixのコマンドも使える | ls , cat , grep など |
よく使われるPowerShellのエイリアス一覧
標準で用意されているエイリアス
コマンドレット | エイリアス | 用途 | 使用例 |
---|---|---|---|
Get-ChildItem | gci , ls , dir | ファイル・フォルダ一覧 | ls , dir C:\ |
Set-Location | cd , sl | ディレクトリ移動 | cd Documents |
Get-Content | gc , cat , type | ファイル内容表示 | cat readme.txt |
Remove-Item | del , rm | ファイル・フォルダ削除 | rm oldfile.txt |
Get-Help | help , man | ヘルプ表示 | help Get-Process |
Clear-Host | cls , clear | 画面クリア | cls |
Copy-Item | cp , copy | ファイルコピー | cp file.txt backup.txt |
Move-Item | mv , move | ファイル移動・リネーム | mv old.txt new.txt |
使用例の比較
# 従来の書き方(長い)
Get-ChildItem -Path C:\Users\Username\Documents
Set-Location -Path C:\Projects
Get-Content -Path readme.txt
# エイリアスを使った書き方(短い)
ls C:\Users\Username\Documents
cd C:\Projects
cat readme.txt
エイリアスの確認方法
すべてのエイリアスを表示:
Get-Alias
特定のコマンドのエイリアスを確認:
# Get-ChildItemのエイリアスを調べる
Get-Alias -Definition Get-ChildItem
特定のエイリアスが何のコマンドか調べる:
# lsが何のコマンドかを調べる
Get-Alias ls
アルファベット順で表示:
Get-Alias | Sort-Object Name
エイリアスの作成と削除

新しいエイリアスを作成する
基本的な作成方法:
# llというエイリアスでGet-ChildItemを呼び出せるようにする
Set-Alias ll Get-ChildItem
# 使用例
ll # Get-ChildItemと同じ結果
よく使うカスタムエイリアス例:
# プロセス一覧を見やすく表示
Set-Alias ps Get-Process
# 現在の場所を確認
Set-Alias pwd Get-Location
# テキストエディタでファイルを開く
Set-Alias edit notepad
# 計算機を起動
Set-Alias calc calc.exe
既存のエイリアスを上書きする
# 既存のdirエイリアスを上書き(-Forceオプションが必要)
Set-Alias -Name dir -Value Get-ChildItem -Force
# 確認
Get-Alias dir
エイリアスを削除する
# 特定のエイリアスを削除
Remove-Item alias:ll
# 削除の確認
Get-Alias ll # エラーになれば削除成功
一時的 vs 永続的なエイリアス
一時的なエイリアス(PowerShellセッション終了で消える):
Set-Alias myalias Get-Process
永続的なエイリアス(毎回使える): プロファイルファイルに記述する必要があります。
プロファイルでエイリアスを永続化
プロファイルとは?
プロファイルは、PowerShell起動時に自動実行される設定ファイルです。ここにエイリアスを書いておけば、毎回自動で設定されます。
プロファイルの場所を確認
# プロファイルファイルのパスを表示
$PROFILE
一般的なパス:
C:\Users\[ユーザー名]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
プロファイルの作成・編集
プロファイルが存在するか確認:
Test-Path $PROFILE
プロファイルを作成(存在しない場合):
New-Item -Path $PROFILE -Type File -Force
プロファイルを編集:
# メモ帳で開く
notepad $PROFILE
# VS Codeで開く(インストールされている場合)
code $PROFILE
プロファイルにエイリアスを追加
プロファイルファイルに以下のような内容を追加:
# カスタムエイリアス設定
Set-Alias ll Get-ChildItem
Set-Alias la Get-ChildItem
Set-Alias edit notepad
Set-Alias calc calc.exe
Set-Alias ps Get-Process
Set-Alias services Get-Service
# Git関連のエイリアス
Set-Alias g git
Set-Alias gs 'git status'
Set-Alias ga 'git add'
Set-Alias gc 'git commit'
# よく使うフォルダへの移動
function docs { Set-Location "C:\Users\$env:USERNAME\Documents" }
function desktop { Set-Location "C:\Users\$env:USERNAME\Desktop" }
function downloads { Set-Location "C:\Users\$env:USERNAME\Downloads" }
プロファイルを再読み込み
# プロファイルを再読み込み(PowerShell再起動なしで設定反映)
. $PROFILE
高度なエイリアス活用術

関数を使った複雑なエイリアス
エイリアスは単純なコマンド置換のみですが、関数を使えばより複雑な処理も短縮できます。
# ファイルサイズも表示するls
function lsl {
Get-ChildItem | Format-Table Name, Length, LastWriteTime -AutoSize
}
# 特定の拡張子のファイルのみ表示
function lspy {
Get-ChildItem *.py
}
function lstxt {
Get-ChildItem *.txt
}
# プロセスをCPU使用率順で表示
function pscpu {
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
}
# システム情報を簡単表示
function sysinfo {
Get-ComputerInfo | Select-Object WindowsProductName, TotalPhysicalMemory, CsProcessors
}
パラメータ付きエイリアス(関数)
# 特定のプロセスを検索
function findproc {
param($ProcessName)
Get-Process | Where-Object {$_.ProcessName -like "*$ProcessName*"}
}
# 使用例: findproc chrome
# ファイルを検索
function findfile {
param($FileName)
Get-ChildItem -Recurse -Name "*$FileName*"
}
# 使用例: findfile readme
# 特定のポートを使用しているプロセスを表示
function portcheck {
param($Port)
netstat -ano | Select-String ":$Port"
}
# 使用例: portcheck 8080
よく使うGitコマンドのエイリアス
# Git関連の短縮コマンド
function gs { git status }
function ga { git add . }
function gc {
param($Message)
git commit -m $Message
}
function gp { git push }
function gl { git log --oneline -10 }
function gb { git branch }
function gco {
param($Branch)
git checkout $Branch
}
# 使用例
# gs # git status
# ga # git add .
# gc "修正完了" # git commit -m "修正完了"
# gp # git push
エイリアス使用時の注意点と制限
読みやすさの問題
❌ スクリプトでエイリアスを多用:
# 他の人には理解しにくい
gci | ? {$_.Extension -eq ".txt"} | % {gc $_.Name}
⭕ スクリプトではフルコマンドを使用:
# 誰でも理解しやすい
Get-ChildItem | Where-Object {$_.Extension -eq ".txt"} | ForEach-Object {Get-Content $_.Name}
エイリアスの衝突
# 既存のエイリアスと同じ名前を使う場合は注意
Set-Alias ls MyCustomCommand # 既存のlsを上書きしてしまう
# 安全な確認方法
if (Get-Alias ls -ErrorAction SilentlyContinue) {
Write-Warning "lsは既に使われています"
} else {
Set-Alias ls MyCustomCommand
}
パフォーマンスの考慮
# ❌ 重い処理をエイリアスにしない
function slowcommand {
Get-Process | ForEach-Object {
# 重い処理
}
}
# ⭕ 必要なときだけ実行する設計
function quickinfo {
Get-Process | Select-Object -First 5
}
使い分けのベストプラクティス
用途 | 推奨 | 理由 |
---|---|---|
個人の作業 | エイリアス・関数を活用 | 効率重視 |
スクリプトファイル | フルコマンドレットを使用 | 可読性重視 |
チーム開発 | フルコマンドレットを使用 | 保守性重視 |
ドキュメント | フルコマンドレットを使用 | 理解しやすさ重視 |
実践的なエイリアス設定例

開発者向けエイリアス
# ディレクトリ移動
function proj { Set-Location "C:\Projects" }
function src { Set-Location "C:\Projects\src" }
function test { Set-Location "C:\Projects\test" }
# アプリケーション起動
Set-Alias code 'C:\Users\[Username]\AppData\Local\Programs\Microsoft VS Code\Code.exe'
Set-Alias firefox 'C:\Program Files\Mozilla Firefox\firefox.exe'
# ネットワーク関連
function myip {
(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content.Trim()
}
function localip {
Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.IPAddress -ne "127.0.0.1"}
}
# システム管理
function restartexplorer {
Stop-Process -Name explorer -Force
Start-Process explorer
}
function flushdns { ipconfig /flushdns }
システム管理者向けエイリアス
# サービス管理
function startsvc {
param($ServiceName)
Start-Service $ServiceName
}
function stopsvc {
param($ServiceName)
Stop-Service $ServiceName
}
function restartsvc {
param($ServiceName)
Restart-Service $ServiceName
}
# ログ確認
function eventlog {
Get-EventLog -LogName System -Newest 10
}
function errorlog {
Get-EventLog -LogName System -EntryType Error -Newest 5
}
# パフォーマンス監視
function topcpu {
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
}
function topmem {
Get-Process | Sort-Object WS -Descending | Select-Object -First 10
}
トラブルシューティング
よくある問題と対処法
問題1:エイリアスが設定されない
# ExecutionPolicy の確認と設定
Get-ExecutionPolicy
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
問題2:プロファイルが読み込まれない
# プロファイルの存在確認
Test-Path $PROFILE
# プロファイルの内容確認
Get-Content $PROFILE
# 手動でプロファイルを読み込み
. $PROFILE
問題3:関数がエラーになる
# 関数の定義確認
Get-Command -CommandType Function
# 特定の関数の詳細確認
Get-Command myfunction
デバッグのコツ
# エイリアスの確認
Get-Alias | Where-Object {$_.Name -eq "myalias"}
# 関数の中身を確認
${function:myfunction}
# コマンドの種類を確認
Get-Command mycommand
まとめ:エイリアスでPowerShellライフが変わる!
重要なポイント
- エイリアスは作業効率を向上させる強力な時短ツール
- 個人の作業では積極的に活用、スクリプトではフルコマンドを使用
- プロファイルで永続化すれば毎回使える
- 用途と使いどころを明確にすることが重要
習得の順番
- 標準エイリアスを覚える:
ls
,cd
,cat
などから - 簡単なカスタムエイリアスを作成:よく使うコマンドの短縮
- プロファイルで永続化:毎回使える設定に
- 関数で高度な処理:パラメータ付きの複雑な処理
- 使い分けを意識:個人作業とスクリプトで分ける
覚えておきたい基本コマンド
操作 | コマンド | 用途 |
---|---|---|
エイリアス一覧表示 | Get-Alias | 設定済みエイリアスの確認 |
エイリアス作成 | Set-Alias name command | 新しいエイリアスの作成 |
エイリアス削除 | Remove-Item alias:name | 不要なエイリアスの削除 |
プロファイル編集 | notepad $PROFILE | 永続化設定の編集 |
プロファイル再読み込み | . $PROFILE | 設定の即座反映 |
実践のコツ
- 少しずつ追加:一度に多くのエイリアスを作りすぎない
- 覚えやすい名前:直感的で覚えやすい短縮名を選ぶ
- 定期的な見直し:使わないエイリアスは削除する
- ドキュメント化:重要なエイリアスはコメントで説明
コメント