WindowsPowerShell

PowerShellとは何か?バッチファイルとの違いと使い始め方【入門完全ガイド】

WindowsPowerShell
記事内に広告が含まれています。

「バッチファイルは覚えたけど、もっと複雑な処理がしたい」「PowerShellってよく聞くけど何が違うの?」この記事ではPowerShellとは何か、バッチファイルとの違い、インストール方法、そして最初の一歩を丁寧に解説します。

PowerShellとは何か?

PowerShellはMicrosoftが開発した高機能なシェル(コマンドライン環境)およびスクリプト言語です。2006年にWindows向けに登場し、現在はWindows・macOS・Linuxで動作するクロスプラットフォームの「PowerShell 7(PowerShell Core)」と、Windowsに標準搭載の「Windows PowerShell 5.1」の2系統があります。

最大の特徴は、コマンドの出力が「テキスト」ではなく「オブジェクト」であることです。これにより、コマンドの結果をプログラムのように加工・フィルタリングできます。

バッチファイルとPowerShellの違い

比較項目バッチファイル(.bat)PowerShell(.ps1)
登場時期MS-DOS時代(1980年代〜)2006年〜
実行環境cmd.exe(コマンドプロンプト)powershell.exe / pwsh.exe
出力の型テキスト(文字列)オブジェクト(.NETオブジェクト)
できること基本的なコマンド実行・ファイル操作ほぼなんでも(.NET連携・REST API・GUI操作)
文法の難易度低い(シンプル)中〜高(覚えることが多い)
エラーハンドリングerrorlevelで簡易対応try-catch-finally で本格対応
クロスプラットフォームWindowsのみWindows・macOS・Linux(PS7以降)
向いている用途シンプルな自動化・レガシー環境本格的なシステム管理・複雑な自動化

PowerShellのバージョン確認

Windows 10/11には「Windows PowerShell 5.1」が標準搭載されています。スタートメニューで「PowerShell」と検索するとすぐに見つかります。

# バージョン確認
$PSVersionTable

# 主要情報だけ確認
$PSVersionTable.PSVersion

PowerShell 7のインストール(推奨)

より新しい機能を使いたい場合はPowerShell 7をインストールします。Windows PowerShell 5.1と並行して使えるため、既存の環境を壊しません。

# wingetでインストール(Windows 10/11推奨)
winget install --id Microsoft.PowerShell --source winget

# インストール後、pwshコマンドで起動
pwsh

PowerShellの基本操作

# ファイル一覧を表示
Get-ChildItem
Get-ChildItem -Path C:\Windows -Filter *.exe

# 省略形(エイリアス)でも書ける
ls
dir
gci

# テキストを表示
Write-Host "Hello, PowerShell!"
Write-Output "Hello"  # パイプラインに出力

# 現在のディレクトリを表示
Get-Location
pwd  # エイリアス

# ディレクトリの移動
Set-Location C:\Users
cd C:\Users  # エイリアス

Cmdletの命名規則(動詞-名詞)

PowerShellのコマンド(Cmdlet)は「動詞-名詞」の形式で命名されています。この規則を知っていると、コマンドを覚えやすくなります。

動詞意味
Get-情報を取得するGet-Process, Get-Service, Get-ChildItem
Set-値を設定・変更するSet-Location, Set-Item, Set-Content
New-新しく作成するNew-Item, New-Object, New-PSDrive
Remove-削除するRemove-Item, Remove-Service
Start-開始・実行するStart-Process, Start-Service
Stop-停止するStop-Process, Stop-Service
Invoke-実行・呼び出すInvoke-WebRequest, Invoke-Command
Write-出力するWrite-Host, Write-Output, Write-Error

ヘルプの使い方

# コマンドのヘルプを表示
Get-Help Get-Process
Get-Help Get-Process -Examples  # 使用例を表示
Get-Help Get-Process -Full      # 詳細ヘルプを表示

# コマンドを検索する
Get-Command *Service*  # "Service"を含むコマンドを検索
Get-Command -Verb Get  # Get動詞のコマンド一覧

最初にPowerShellを触ったとき、「Get-ChildItem」「Set-Location」など長ったらしい名前に戸惑いました。でも「ls」「cd」などのエイリアスが使えると知ってから急に親しみやすくなりました。まずエイリアスで慣れて、徐々に正式名称を覚えていくのがおすすめです。

hobbyshift管理人

まとめ

  • PowerShellはテキストではなくオブジェクトを扱う高機能なシェルで、バッチファイルの上位互換にあたる
  • Windows 10/11には5.1が標準搭載。wingetで7をインストールすれば最新機能が使える
  • Cmdletは「動詞-名詞」形式で命名されており、Get-Help・Get-Commandでコマンドを調べられる
  • ls・cd・dirなどのエイリアスが使えるので、コマンドプロンプトやLinuxの感覚で入門できる
  • 次の記事では変数・データ型・演算子など基本構文を学ぶ

コメント

タイトルとURLをコピーしました