PowerShellとは?WindowsでAI/Codex作業前に確認すること
PowerShellは、Windowsでファイル確認、PHP構文チェック、Git差分確認、ローカルサーバー起動などを行うためのコマンド操作画面です。ChatGPTやCodexにサイト修正を頼む時も、作業場所、変更ファイル、エラー文を整理するためによく使います。
ただし、PowerShellは便利な反面、削除、上書き、移動、スクリプト実行もできます。意味が分からないままAIの回答を貼ると、Webサイトのファイルを消したり、本番に上げる前の確認を飛ばしたりする危険があります。
このページでは、「PowerShellとは何か」だけでなく、WindowsでWeb制作やロリポップ向けPHPサイト修正をする前に、どこを確認し、何をAI/Codexへ伝え、何を伏せるべきかを整理します。
確認日と対象範囲
確認日: 2026-05-20。対象は、WindowsでPowerShellを使い、HTML/CSS/PHPファイルの確認、Git差分確認、ローカル表示確認、AI/Codexへの相談準備をする初心者です。サーバー管理者向けの高度な自動化や、本番サーバーへ直接入って操作する手順は扱いません。
このページで整理できること
- PowerShell、コマンドプロンプト、Windows Terminalのどれを開けばよいか
- AI/Codexに相談する前に、現在地、変更ファイル、エラー文をどう確認するか
- PHP構文チェック、Git差分確認、ファイル検索で使う基本コマンド
- 削除、上書き、スクリプト実行など、意味が分かるまで止める操作
- AIへ貼ってよい情報と、伏せるべきローカルパス、認証情報、秘密情報
まず分けること
| 状況 | 最初に見るもの | PowerShellで使う例 | 次に進む先 |
|---|---|---|---|
| どのフォルダで作業中か分からない | 現在地とファイル一覧 | Get-Location / Get-ChildItem |
対象ファイルを確認してからAIへ相談する |
| PHPを直したら真っ白になった | 構文エラーと直前の変更 | C:\xampp\php\php.exe -l 対象.php |
PHP真っ白の確認順 |
| AI/Codexが複数ファイルを変えた | 変更ファイルと差分 | git status --short / git diff |
AIコードの差分確認 |
| 本番に上げてよいか不安 | ローカル表示、関連ページ、戻し方 | Get-ChildItemで更新ファイルを確認 |
AIコード安全公開ハブ |
AI/Codexに相談する時のコピペ用メモ
PowerShellのエラーや実行結果をAIへ貼る時は、秘密情報を伏せたうえで、現在地、実行したコマンド、結果、やりたいことをまとめると伝わりやすくなります。
WindowsのPowerShellでWebサイト修正前の確認をしています。
目的:
- 例: PHPファイルの構文チェックをしたい / Codexの変更差分を確認したい / ローカルサーバーを起動したい
現在地:
- Get-Location の結果: (ユーザー名などは必要なら伏せる)
対象ファイル:
- 例: templates/example.php
実行したコマンド:
- 例: C:\xampp\php\php.exe -l templates/example.php
表示された結果:
- エラー文をここに貼る
伏せた情報:
- PCのユーザー名、秘密のフォルダ名、APIキー、DB接続情報、FTP情報、token類
お願いしたいこと:
- 危険な削除や上書きをせず、まず原因の切り分けと次に確認するコマンドだけ教えてください。
AIの回答を貼る前に止まる操作
PowerShellでは、ファイルの削除や移動がすぐ実行されます。AIが出したコマンドでも、次の操作は意味と対象を確認するまで実行しないでください。
Remove-Item、del、rm: ファイル削除。ゴミ箱に入らず消える場合があります。Move-Item、Rename-Item: ファイル移動や名前変更。公開対象や読み込みパスが変わることがあります。Set-Content、Out-File: ファイル内容の上書き。既存コードを消す可能性があります。Invoke-WebRequestで外部URLを実行する操作: 取得先や保存先を確認してから使います。- 実行ポリシー変更、管理者権限、署名なしスクリプト実行: 必要な理由が説明できる時だけ行います。
AIに修正を頼む前後の確認範囲は、AIコードをどこに貼るか分からない時とAI修正後にどこまで自分で確認するかにもつなげて確認してください。
最初に開くのはPowerShellでいい?CMDとの選び方
Windowsには、コマンドプロンプト、PowerShell、Windows Terminalなど似た画面が複数あります。初心者がWeb制作やファイル操作を始めるなら、基本はPowerShellを開けば問題ありません。
迷ったときの選び方
- 今から新しくコマンド操作を覚える:PowerShell
- 古い手順書に
cmdやbatと書かれている:コマンドプロンプト - Git、PHP、Node.js、ローカルサーバーを動かす:PowerShellで始めてよい
- 管理者権限が必要な操作をする:PowerShellを右クリックして「管理者として実行」
違いを詳しく見たい場合は、あとでPowerShellとCMDの違いを読むと、なぜ新しい作業ではPowerShellが使われることが多いのか整理できます。
PowerShellの正体 - Windowsで確認作業を進めるシェル
PowerShellとは、Microsoftが開発した、Windowsの管理・自動化に特化したコマンドラインシェルであり、スクリプト言語でもあります。昔ながらのコマンドプロンプトが電卓だとしたら、PowerShellはExcelのようなものです。どちらも計算はできますが、扱えるデータの種類や、できることの幅が全く違います。
最大の違いは「オブジェクト」を扱うこと
コマンドプロンプトとPowerShellの決定的な違いは、コマンドが返す情報の「形式」にあります。
- コマンドプロンプト(cmd.exe): コマンドの結果をただの「テキスト(文字列)」として返します。人間が見る分には良いですが、そのテキストから「ファイル名だけ」「サイズだけ」を取り出して次の処理に使う、といったことが非常に困難です。
- PowerShell: コマンドの結果を、構造化されたデータである「オブジェクト」として返します。オブジェクトには、ファイル名、サイズ、更新日時といった個別の「プロパティ(属性)」が紐付いており、まるでExcelのセルのように、特定のデータだけを簡単に取り出したり、並べ替えたり、絞り込んだりできます。
この「オブジェクトを扱う」という性質が、PowerShellを単なるコマンドラインツールから、強力な自動化プラットフォームへと昇華させているのです。
パイプラインでオブジェクトを扱う
言葉で説明するよりも、実際に動かしてみるのが一番です。PowerShellの真価は、コマンド同士を「パイプライン `|`」で繋いだときに発揮されます。オブジェクトがベルトコンベアのように次のコマンドへ渡され、加工されていく様子を見てみましょう。
まず、Get-Processというコマンドで、現在コンピューターで動いているプロセスの一覧を取得します。PowerShellのコマンドは動詞-名詞という分かりやすい形式になっているのが特徴です。
Get-Process
たくさんのプロセスが表形式で表示されましたね。これがオブジェクトの集まりです。
次に、この結果をパイプでWhere-Objectに渡し、「プロセス名(ProcessName)が'chrome'であるもの」だけを絞り込んでみましょう。$_は、パイプから渡されてきた一つひとつのオブジェクトを指します。
Get-Process | Where-Object { $_.ProcessName -eq 'chrome' }
Chromeに関するプロセスだけが表示されました。テキストではなくオブジェクトだからこそ、ProcessNameというプロパティを指定して簡単に絞り込めるのです。
さらに、絞り込んだ結果をSort-Objectに渡し、メモリ使用量(WS)の多い順に並べ替えてみましょう。
Get-Process | Where-Object { $_.ProcessName -eq 'chrome' } | Sort-Object -Property WS -Descending
このように、コマンドを繋いでいくだけで、まるでデータを自在に操るデータベースのように、複雑な情報の抽出や加工ができてしまいます。これがPowerShellの力です。
基本的なコマンド(コマンドレット)を使ってみよう
PowerShellのコマンドは、正式にはコマンドレット (Cmdlet) と呼ばれます。ここでは、Bashやコマンドプロンプトでお馴染みの操作を、PowerShellのコマンドレットで実行する方法を紹介します。多くのコマンドレットには短い「エイリアス(別名)」が用意されているので、lsやcdといった慣れたコマンドもそのまま使えます。
まず打っておくと安心な確認コマンド
PowerShellを開いたら、いきなり削除や移動をする前に、今いる場所とPowerShellのバージョンを確認します。作業場所を間違えたままコマンドを実行すると、意図しないフォルダにファイルを作ったり、別の場所を探してしまったりします。
# 今いるフォルダを確認
Get-Location
# PowerShellのバージョンを確認
$PSVersionTable.PSVersion
# その場所にあるファイルとフォルダを確認
Get-ChildItem
この3つが読めるようになるだけでも、Web制作中の「どのフォルダで作業しているかわからない」問題をかなり減らせます。
場所の移動 (pwd, cd, sl)
現在地を確認するにはGet-Location、移動するにはSet-Locationを使います。
# 現在の場所を表示 (エイリアス: pwd)
Get-Location
# C:\Users ディレクトリに移動 (エイリアス: cd, sl)
Set-Location C:\Users
一覧の表示 (ls, dir, gci)
ファイルやフォルダの一覧を表示するにはGet-ChildItemを使います。
# カレントディレクトリの中身を表示 (エイリアス: ls, dir, gci)
Get-ChildItem
オブジェクトの強みを活かして、特定の種類のファイルだけを再帰的に(サブフォルダの中まで)探すことも簡単です。
# 現在の場所から下のすべての.cssファイルを検索
Get-ChildItem -Recurse -Filter "*.css"
ファイルとフォルダの作成 (ni)
新しい項目(ファイルやフォルダ)を作成するにはNew-Itemを使います。
ファイルの作成:
New-Item -Path ".\new-file.txt" -ItemType File
フォルダの作成:
New-Item -Path ".\new-folder" -ItemType Directory
ファイル内容の読み書き (cat, gc, sc)
ファイルの内容を読み込むにはGet-Content、書き込むにはSet-Contentを使います。
ファイルへの書き込み:
"Hello from PowerShell!" | Set-Content -Path ".\new-file.txt"
ファイル内容の読み込み (エイリアス: cat, gc):
Get-Content -Path ".\new-file.txt"
ファイルとフォルダの削除 (rm, del, rmdir)
ファイルやフォルダを削除するにはRemove-Itemを使います。この操作は元に戻せないので、実行には十分注意してください。
Remove-Item -Path ".\new-file.txt"
フォルダを中身ごと削除するには-Recurseオプションが必要です。
Remove-Item -Path ".\new-folder" -Recurse
初心者が詰まりやすいPowerShellのエラー
PowerShellで出るエラーは、内容を分けて見ると原因を探しやすくなります。特にWeb制作では、パスの間違い、権限不足、実行ポリシー、コマンド未インストールの4つがよく出ます。
先に見るポイント
Cannot find path:指定したファイルやフォルダが存在しない。まずGet-LocationとGet-ChildItemで場所を確認するAccess is denied:権限不足。必要なときだけ管理者として起動するrunning scripts is disabled:スクリプト実行ポリシーの制限。意味を確認してから変更するnot recognized:PHP、Git、Node.jsなどのコマンドが見つかっていない。インストール先やPATHを確認する
特にRemove-Itemなどの削除コマンドは強力です。Webサイトのファイルを触る前には、バックアップや差分確認を先に行うと安全です。AIに修正を頼む作業では、AIコード修正と公開前チェックの入口もあわせて確認しておくと事故を減らせます。
PowerShellをWeb制作で使う場面
PowerShellは、WindowsでWeb制作をしている人にとって、ローカル確認や公開前チェックをまとめるための土台になります。
- PHPファイルの構文チェックをまとめて実行する
- HTML、CSS、画像ファイルを日付や拡張子で探す
- ローカルサーバーを起動してブラウザで確認する
- 公開前に変更ファイルの一覧を確認する
- FTPやデプロイスクリプトの実行前後にログを確認する
たとえば、AI/CodexがPHPを修正した後は、いきなり本番へ上げる前に次のような確認をします。
# 変更ファイルを確認
git status --short
# PHP構文チェック
C:\xampp\php\php.exe -l .\templates\example.php
# 変更差分を確認
git diff -- .\templates\example.php
# 最近更新されたPHPファイルを確認
Get-ChildItem -Recurse -Filter "*.php" | Sort-Object LastWriteTime -Descending | Select-Object -First 10 FullName, LastWriteTime
ここでエラーが出た場合は、エラー全文、対象ファイル、直前に変えた内容を整理してからAIへ相談します。公開中のロリポップサイトを触る場合は、ロリポップで自作PHPサイトを安全に更新する入口へ戻って、php.ini、DB接続、メールフォーム、cronなどの影響範囲も確認してください。
ファイル操作を自動化したい場合は、次の段階としてPowerShellでファイル操作を自動化する入門へ進むと実務に近づきます。
まとめ
PowerShellは、WindowsでWeb制作やAI/Codex作業を進める時の確認場所です。最初に覚えるべきことは、難しい自動化ではなく、現在地、対象ファイル、実行したコマンド、表示されたエラーを落ち着いて確認することです。
- AIへ相談する前に、
Get-LocationとGet-ChildItemで作業場所を確認する。 - PHPやGitを使う時は、構文チェック、差分確認、変更ファイル一覧を先に見る。
- 削除、上書き、移動、実行ポリシー変更は、意味が分かるまで止める。
Web制作の現場では、ローカルのWindows環境で作業し、本番環境のLinuxサーバーへ公開する流れがよくあります。PowerShellはその間にある、確認、差分、ログ、エラー文を整理するための道具として使うと安全です。
AIにコマンドを作ってもらう場合も、まずは「何を確認するコマンドか」「どのファイルに効くのか」「元に戻せるか」を説明できる状態にしてから実行してください。