Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!


Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。

前回の記事はこちらです。

Windowsのポチポチ操作を爆速化するPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
Windowsのポチポチ業務(マウスを使った業務)を爆速化するCUI=PowerShell。CUIを使う上で重要なカレントディレクトリ、親ディレクトリ・サブディレクトリ、ルートディレクトリの考え方をしっかり理解して、自由自在にディレクトリを移動できるようになりましょう!

前回はPowerShellのようなCUI(コマンドユーザーインタフェース)=文字でコンピュータを操作するときに重要なディレクトリの考え方と、その移動方法についてご説明しました。

コマンドレットとは、PowerShellに用意されているWindowsを操作する機能をまとめた命令のことです。

今回は、そのコマンドレットの基本的な構文と、コマンドレットに必要な情報を渡したり、その働きを変えるために使われるパラメータについてご説明いたします

それではいってみましょう!

コマンドレット

冒頭でも説明しましたが、コマンドレットとはWindowsを操作する機能をまとめた命令のことです。

連載の一番初めの記事

Windowsのポチポチ業務を爆速化できるPowerShell、はじめのハードルぐーーんと下げてみます!
Windowsユーザーにとって強力な手助けとなるCUI=PowerShell。とっつきにくいですが、慣れてしまえばこれほど強力な武器はありません。はじめのハードルを乗り越えてCUIで普段の業務を爆速化しましょう!

でも説明していますが、コマンドレットは

「Get-ChildItem」 → Get=取得する + ChildItem=子アイテム

のように動詞-名詞の形式で直感的に理解しやすく、またよく使う機能がまとめられているものです。

またPowerShellではコマンドレットに関わらず大文字小文字を区別しません。

Get-ChildItemをget-childitemと記載しても同じように実行されます。

PowerShellのヘルプなどでもそうですが、コマンドレットはデフォルトでキャメル記法(単語の先頭の文字を大文字にする記法)を使用しています。

そのため、当記事でもキャメル記法を使って表記していますが、小文字で入力しても実行可能なことは頭に入れておいてください。

コマンドレットの基本形

コマンドレットは「Get-ChildItem」のように単体で使えますが、パラメータと呼ばれる値と組み合わせて使用することが多いです。

パラメータはコマンドレットに必要な情報を渡したり、その働きを変える機能をもちます

以下のような構文で書きます。基本形なので覚えてくださいね。

コマンドレット -パラメータ パラメータの値

「-」ハイフンをつけることでPowerShellはパラメータであることを認識します。パラメータのハイフンは付け忘れないように注意してください。

New-Itemを使ってみる

「New-Item」というファイルやディレクトリを作成するコマンドレットで、パラメータを指定する例をお見せします。

New-Itemでファイルを作成する

さっそくNew-Itemでファイルを作成してみます。

基本形はこのようになります。

New-Item -Path ディレクトリ名\ファイル名
  • コマンドレット:New-Item
  • パラメータ:-Path
  • パラメータの値:ディレクトリ名\ファイル名(今回はsamle\sample.txtとします。)

となっていますね。

PowerShellを立ち上げて、コマンドレットを実行すると

ディレクトリ「C:\Users\terad\sample」配下に「sample.txt」という名前のファイルが作成されました。

エクスプローラでも確認してみましょう。

確かに「sample.txt」ができていますね。

パラメータ

コマンドレットの基本的な構文を理解したところで、パラメータについて詳しく見ていきます。

-Pathパラメータ

-Pathパラメータについて詳しく説明します。

-Pathの設定値と注意点

-Pathには「sample\sample.txt」のようにディレクトリを含んだファイル名を指定することができます

また、ディレクトリを含まずに「sample.txt」とファイル名だけ指定することも可能です。その場合はカレントディレクトリにファイルが作成されます。

存在しないディレクトリを指定すると…

このようにエラーになるので、-Pathには作成済のディレクトリを指定するようにしてください。

-Pathは複数指定できる

-Pathは文字列の「配列」を使い、複数指定することができます

配列とは、同じ型(文字列など)のデータをまとめて扱う方法のことです。

配列の各データを要素と呼び、要素はPath[0]、Path[1]、Path[2]、…というように添え字と呼ばれる数字で指定します。

New-Item -Path sample1\a.txt,sample2\b.txt

このようにカンマ区切りで複数のディレクトリ名とファイル名を指定することができます

実際には見えませんが、Path[0]に「sample1\a.txt」、Path[1]に「sample2\b.txt」が入力されていると思ってください。

-Path以外のパラメータ

New-Itemのパラメータは-Path一つではなく、複数のパラメータが存在し、組み合わせて指定することが可能です

-Path以外の主要なパラメータについてご説明します。

-Name

-Nameは-Path同様に作成するファイルの「ディレクトリ名\ファイル名」を指定します。

基本的には-Pathと同じですが、-Pathを補完するために使うことが多いです。

New-Item -Path sample -Name sample.txt

このように-Pathに「sample」、-Nameに「sample.txt」と指定すると、それぞれの文字列が合体して「sample\sample.txt」となり、「sample」ディレクトリに、「sample.txt」というファイルが作成されます。

-ItemType

-ItemTypeを使えばディレクトリなどファイル以外のアイテムを作ることができます

New-Item -Path sample -ItemType Directory

ItemTypeにはfile、Directoryなどが指定できます。指定しない場合はファイルが作成されます。

-Force

-Pathには存在するディレクトリを指定しないとエラーとなるとご説明しましたが、-Forceを使えばディレクトリが存在しない場合に自動作成します

またファイルを作成する場合、すでにある同じ名前のファイルを上書くことができます

New-Item -Path sample -Force

このように-Forceの場合はパラメータだけで設定値は必要ありません。

パラメータの種類

パラメータは、必須とオプションの2種類に大別されます

必須パラメータ

コマンドレットで必ず入力が必要なパラメータのことです。

-Path、-Nameが必須のパラメータとなります。

-Path、-Nameのいずれかは必ず指定が必要です。

オプションパラメータ

オプションパラメータには、-ItemTypeや-Forceなどがあります。

New-Item -Path ディレクトリ名\ファイル名 -ItemType file -Force

このように複数のパラメータを並べて記載することができます

オプションのパラメータが指定されない場合は、デフォルト値がコマンドレットに渡されます

必須パラメータを入力しなかった場合

必須パラメータの入力しなかった場合でも、PowerShellでは入力を促すメッセージを出してくれます。

New-Itemを単独で入力してみます。

このように「次のパラメータを指定してください。」のメッセージのあとに必須パラメータである「Path[0]:」が表示されています。

さきほどご説明した配列の形式で表示されていますね。

Pathの後ろに[0]とありますが、配列の1つめの要素にディレクトリ名\ファイル名を入力しなさいということです。

Path[0]に「sample\sample.txt」を入力してエンターを押すと…

Path[1]が表示され、次の要素への入力を促します。

Pathの指定が終わりであれば、何も入力せずエンターを押し、Pathの配列の入力が終わったことをPowerShellに通知します。

無事、ファイルが作成されました。

まとめ

いかがだったでしょうか。今回はNew-Itemを例にコマンドレットの基本的な構文とパラメータについて詳しく解説しました。

コマンドレットは単体だけではなく、絶対に必要な情報を渡す必須パラメータと、様々に働きを変えてくれるオプションパラメータを組み合わせて使うんですね。

次回はコマンドレットのパラメータについて自分で調べられるようになるため、オンラインヘルプの参照方法についてお伝えします!

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

連載目次:Windowsのポチポチ業務を爆速化するPowerShell

Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。
  1. Windowsのポチポチ業務を爆速化するPowerShell、はじめのハードルぐーーんと下げてみます!
  2. Windowsのポチポチ業務を爆速化するPowerShell、キーボードを使わずササっと起動する方法
  3. Windowsのポチポチ操作を爆速化するPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
  4. Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!

  投稿者プロフィール

teradoshプログラミングする福祉職
システムエンジニアとして5年勤務した後、高齢者デイサービスで4年間働いた異色の経歴(学生時代は水泳コーチ)。1986年生まれ。大阪府豊中市在住。2女の父。

プログラミングの経験を活かし、福祉現場の業務効率化に情熱を燃やしています!

お気軽にフォローしてくださいね。

コメント

  1. MAZ より:

    お疲れ様です。プログラミングは初めてですが、このサイトを起点としてpowershellの勉強をしてきたいと思います。
    誤字報告です。-Pathは複数指定できる の中の
    New-Item -Path samle1\a.txt,sample2\b.txt
    sample がsamleになっていました。

    • teradosh より:

      MAZさん

      コメントありがとうございます。
      執筆したテラドと申します。

      ご報告いただいた誤字は修正させていただきました。
      ありがとうございます。

      当記事でpowershellの学習を始めてくださった…嬉しいとともに執筆の励みになります!!

      引き続き、わかりやすい記事を提供して参りますので今後ともよろしくお願いいたします。