Copicode 日本語トップ

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で使う例 次に進む先
どのフォルダで作業中か分からない 現在地とファイル一覧 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が出したコマンドでも、次の操作は意味と対象を確認するまで実行しないでください。

AIに修正を頼む前後の確認範囲は、AIコードをどこに貼るか分からない時AI修正後にどこまで自分で確認するかにもつなげて確認してください。


最初に開くのはPowerShellでいい?CMDとの選び方

Windowsには、コマンドプロンプト、PowerShell、Windows Terminalなど似た画面が複数あります。初心者がWeb制作やファイル操作を始めるなら、基本はPowerShellを開けば問題ありません。

迷ったときの選び方

  • 今から新しくコマンド操作を覚える:PowerShell
  • 古い手順書にcmdbatと書かれている:コマンドプロンプト
  • Git、PHP、Node.js、ローカルサーバーを動かす:PowerShellで始めてよい
  • 管理者権限が必要な操作をする:PowerShellを右クリックして「管理者として実行」

違いを詳しく見たい場合は、あとでPowerShellとCMDの違いを読むと、なぜ新しい作業ではPowerShellが使われることが多いのか整理できます。


PowerShellの正体 - Windowsで確認作業を進めるシェル

PowerShellとは、Microsoftが開発した、Windowsの管理・自動化に特化したコマンドラインシェルであり、スクリプト言語でもあります。昔ながらのコマンドプロンプトが電卓だとしたら、PowerShellはExcelのようなものです。どちらも計算はできますが、扱えるデータの種類や、できることの幅が全く違います。

最大の違いは「オブジェクト」を扱うこと

コマンドプロンプトとPowerShellの決定的な違いは、コマンドが返す情報の「形式」にあります。

この「オブジェクトを扱う」という性質が、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のコマンドレットで実行する方法を紹介します。多くのコマンドレットには短い「エイリアス(別名)」が用意されているので、lscdといった慣れたコマンドもそのまま使えます。

まず打っておくと安心な確認コマンド

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-LocationGet-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制作をしている人にとって、ローカル確認や公開前チェックをまとめるための土台になります。

たとえば、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作業を進める時の確認場所です。最初に覚えるべきことは、難しい自動化ではなく、現在地、対象ファイル、実行したコマンド、表示されたエラーを落ち着いて確認することです。

Web制作の現場では、ローカルのWindows環境で作業し、本番環境のLinuxサーバーへ公開する流れがよくあります。PowerShellはその間にある、確認、差分、ログ、エラー文を整理するための道具として使うと安全です。

AIにコマンドを作ってもらう場合も、まずは「何を確認するコマンドか」「どのファイルに効くのか」「元に戻せるか」を説明できる状態にしてから実行してください。

次に読むと理解しやすいページ