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

前回はPowerShellのようなCUI(コマンドユーザーインタフェース)=文字でコンピュータを操作するときに重要なディレクトリの考え方と、その移動方法についてご説明しました。
コマンドレットとは、PowerShellに用意されているWindowsを操作する機能をまとめた命令のことです。
今回は、そのコマンドレットの基本的な構文と、コマンドレットに必要な情報を渡したり、その働きを変えるために使われるパラメータについてご説明いたします。
それではいってみましょう!
コマンドレット
冒頭でも説明しましたが、コマンドレットとはWindowsを操作する機能をまとめた命令のことです。
連載の一番初めの記事

でも説明していますが、コマンドレットは
「Get-ChildItem」 → Get=取得する + ChildItem=子アイテム
のように動詞-名詞の形式で直感的に理解しやすく、またよく使う機能がまとめられているものです。
コマンドレットの基本形
コマンドレットは「Get-ChildItem」のように単体で使えますが、パラメータと呼ばれる値と組み合わせて使用することが多いです。
パラメータはコマンドレットに必要な情報を渡したり、その働きを変える機能をもちます。
以下のような構文で書きます。基本形なので覚えてくださいね。
「-」ハイフンをつけることでPowerShellはパラメータであることを認識します。パラメータのハイフンは付け忘れないように注意してください。
New-Itemを使ってみる
「New-Item」というファイルやディレクトリを作成するコマンドレットで、パラメータを指定する例をお見せします。
New-Itemでファイルを作成する
さっそくNew-Itemでファイルを作成してみます。
基本形はこのようになります。
- コマンドレット: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]、…というように添え字と呼ばれる数字で指定します。
このようにカンマ区切りで複数のディレクトリ名とファイル名を指定することができます。
実際には見えませんが、Path[0]に「sample1\a.txt」、Path[1]に「sample2\b.txt」が入力されていると思ってください。
-Path以外のパラメータ
New-Itemのパラメータは-Path一つではなく、複数のパラメータが存在し、組み合わせて指定することが可能です。
-Path以外の主要なパラメータについてご説明します。
-Name
-Nameは-Path同様に作成するファイルの「ディレクトリ名\ファイル名」を指定します。
基本的には-Pathと同じですが、-Pathを補完するために使うことが多いです。
このように-Pathに「sample」、-Nameに「sample.txt」と指定すると、それぞれの文字列が合体して「sample\sample.txt」となり、「sample」ディレクトリに、「sample.txt」というファイルが作成されます。
-ItemType
-ItemTypeを使えばディレクトリなどファイル以外のアイテムを作ることができます。
ItemTypeにはfile、Directoryなどが指定できます。指定しない場合はファイルが作成されます。
-Force
-Pathには存在するディレクトリを指定しないとエラーとなるとご説明しましたが、-Forceを使えばディレクトリが存在しない場合に自動作成します。
またファイルを作成する場合、すでにある同じ名前のファイルを上書くことができます。
このように-Forceの場合はパラメータだけで設定値は必要ありません。
パラメータの種類
パラメータは、必須とオプションの2種類に大別されます。
必須パラメータ
コマンドレットで必ず入力が必要なパラメータのことです。
-Path、-Nameが必須のパラメータとなります。
-Path、-Nameのいずれかは必ず指定が必要です。
オプションパラメータ
オプションパラメータには、-ItemTypeや-Forceなどがあります。
このように複数のパラメータを並べて記載することができます。
オプションのパラメータが指定されない場合は、デフォルト値がコマンドレットに渡されます。
必須パラメータを入力しなかった場合
必須パラメータの入力しなかった場合でも、PowerShellでは入力を促すメッセージを出してくれます。
New-Itemを単独で入力してみます。
このように「次のパラメータを指定してください。」のメッセージのあとに必須パラメータである「Path[0]:」が表示されています。
さきほどご説明した配列の形式で表示されていますね。
Pathの後ろに[0]とありますが、配列の1つめの要素にディレクトリ名\ファイル名を入力しなさいということです。
Path[0]に「sample\sample.txt」を入力してエンターを押すと…
Path[1]が表示され、次の要素への入力を促します。
Pathの指定が終わりであれば、何も入力せずエンターを押し、Pathの配列の入力が終わったことをPowerShellに通知します。
無事、ファイルが作成されました。
まとめ
いかがだったでしょうか。今回はNew-Itemを例にコマンドレットの基本的な構文とパラメータについて詳しく解説しました。
コマンドレットは単体だけではなく、絶対に必要な情報を渡す必須パラメータと、様々に働きを変えてくれるオプションパラメータを組み合わせて使うんですね。
次回はコマンドレットのパラメータについて自分で調べられるようになるため、オンラインヘルプの参照方法についてお伝えします!
最後までお読みいただきありがとうございました!