0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

真っ黒な画面は怖くない!非エンジニアにもおすすめな、powershellの紹介

Last updated at Posted at 2025-12-02

CUIのソフトには、最初は抵抗があるものだと思います。しかし一度触ってみるとメリットが体感できて、新しい世界が見えたりするものです。
本記事ではとっつきやすいCUIアプリであるpowershellを題材に、何ができるのか、混同しやすいターミナルとの違いは何かなどを説明します。

なお、本アドベントカレンダーではpowershellに関する記事をほかにも投稿しています。合わせてご覧ください。
高校生にも分かるように書きますのでよろしくお願いします。:smile:

目次

1.CUIについて
2.powershellは何ができるか
3.まとめ

powershellは基本、CUI上で動作します。これ自体がとっつきづらいものですので、まずそこの説明をします。
次に、powershellは何ができるか、どのような枠組み上で動くものなのかを説明します。

CUIについて

GUIとCUI

エクスプローラーやブラウザなど、基本マウスで操作するアプリのことをGUIアプリと言います。それに対し、黒い画面に文字だけが出てきて、キーボード入力だけで操作するアプリをCUIアプリと言います。
多くの人は、普段GUIアプリをメインで使うと思います。CUIはとっつきづらいイメージがあると思います。
参考:わわわIT用語辞典「CUI」

CUIの良いところ

操作履歴がテキストになる
当たり前といえば当たり前ですが、テキストを入力して操作していくものなので、操作履歴がテキストになります。
GUIのアプリの操作手順を説明するときはスクリーンショットを何枚か貼って説明することが多いかと思います。ですがCUIアプリの操作手順はテキストで済みます。

キーボードのみで操作できるため、操作が速い
これが個人的にはうれしいです。
GUIアプリはメインではマウスによって操作します。しかしファイルマネージャのようなソフトだと、例えばファイル名を変更するようなときにキーボードで文字入力をする必要があります。そのたびに右手がマウスとキーボードを行き来する必要があり少し手間です。
全ての操作をキーボードですることで、この手間を省けます。
(背景:そもそも操作端末として、マウスよりも多くのキーが密集しているキーボードの方が優れている、という思想を私は持っています)

powershellは何ができるか

ここから、何ができるかをほんの一部だけ説明します。

1. powershellの起動

スタートメニューから「powershell」をクリックして起動します。
スタートメニューから「ターミナル」をクリックしても(設定が規定のままなら)起動できます。ターミナルというソフトは何なのか、については後で説明します。
最初に開いているパスはC:\Users(サインインしているユーザー名)になっているかと思います。

image.png

エクスプローラーから右クリックでも起動できます。これだと最初のパスは右クリックしたディレクトリになっていると思います。

1204_2.jpg

以降この記事では、「PS (現在いるパス) >(スクリプト)」という書き方をします。

shell
PS C:\TEST_qiita> cd folder_a

上記の「cd folder_a」のような、実行命令文をスクリプトといいます。(cdの意味は後程説明します)
前述のような操作をして「cd folder_a」と入力するとこのような表示になるため、理解いただけると思います。

次に、組み込みの関数(コマンドレット)を3つ紹介します。以下の例に沿って説明します。

shell
PS C:\TEST_qiita> cd folder_a
PS C:\TEST_qiita\folder_a> ls

      ディレクトリ: C:\TEST_qiita\folder_a

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2025/11/13     17:45             15 aiueo.txt
PS C:\TEST_qiita\folder_a> ii aiueo.txt

2-a. cd(set-location)

ディレクトリの移動です。絶対パス指定でも移動できます。
「cd 」(※スペースが重要)と入力してからtabキーを押すと候補を順番に出してくれます。

2-b. ls(get-childitem)

ディレクトリ内のファイルやディレクトリを一覧表示します。
modeというのはフォルダかファイルか、読み取り専用か、などの情報です。

2-c. ii(invoke-item)

ファイルを指定すると、規定のアプリで開きます。エクスプローラーでダブルクリックしたのと同じような動きになります。
ディレクトリを指定するとエクスプローラーを開きます。

このように、普段エクスプローラーでやるような基本的な操作は一通りできるのです。

3. 関数を書ける

functionと書くと関数を書けます。変数は$aなどと書きます。
書いた関数は、上記のコマンドレットのように、関数名を書くと呼び出せます。

shell
PS C:\TEST_qiita\folder_a> function hoge($a){
>> cd ..
>> }
PS C:\TEST_qiita\folder_a> hoge
PS C:\TEST_qiita>

通常プログラミング言語が備えている、if, else, for, whileなど一通りの機能は備わっています。

4. ファイルに書かれたスクリプトを実行できる

.ps1という拡張子にスクリプトを書いて保存すると、それを実行できます。

test.ps1
function hoge(){
    cd ..
}
hoge

(タブ文字は多分無視されますが、読みやすいと思うのでつけました)
上のtest.ps1をC:\TEST_qiitaに保存したうえで、以下を実行

PS C:\TEST_qiita> .\test.ps1
PS C:\>

5. デバッガを使える

powershell ISEというものがwindowsにはプリインストールされていて、これがデバッガの機能を備えています。
デバッガの使い方に慣れていない方もいると思うので、簡単に説明します。
image.png

まずはスクリプトを書きます。次に、スクリプトの適当なところにカーソルを合わせてF9を押すとブレークポイントが貼れます。
image.png

※ここでps1ファイルの保存が必要です。
その後F5キーを押すと、ブレークポイントを貼ったところで動作が停止します。

image.png

この状態で下の画面で変数名を入力すると、変数の値が確認できます。
またF10キーで1ステップずつ実行することもできます。
その他の機能もまとめて表にしてみました。

キー 機能
F5 実行
shift+F5 実行中のデバッグを中断
F9 ブレークポイントを貼る
F10 1ステップ実行
F11 呼び出し先の関数に行く

6. プロファイルを設定できる

あらかじめps1ファイルを登録しておくと、それをpowershell起動時に自動で実行してくれます。これをプロファイルといいます。
既定だとそのパスが$PROFILEという変数に入っています。

PS C:\TEST_qiita> echo $PROFILE
C:\Users\<ユーザー名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

このパスにps1ファイルを作れば、それを実行してくれます。ファイルを作成するにはni(new-item)コマンドが便利です。以下のようにすると、ISEでps1ファイルを開きます。

PS C:\TEST_qiita> ni $PROFILE
PS C:\TEST_qiita> ii $PROFILE

まとめ

  • CUIアプリはエクスプローラーに相当する基本的な操作ができる。

最後までお読みいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?