PowerShellのよく使うコマンドレットは?ファイル操作やプログラムの起動方法

Power Shell
この記事は約6分で読めます。

Power Shellで利用するコマンドをコマンドレットといいます。

コマンドプロンプトではできなかった、複数のコマンドを実行したりなど、複雑な命令を処理することができます。

コマンドレットは「動詞-名詞」という形式になっており、コマンドプロンプトに比べコマンドを打つ量が少なく直感的に利用できるのが特徴です。

今回は、よく使うであろうコマンドレットをご紹介します。

Power Shellについて詳しくは以下にあります↓

Power Shell(パワーシェル)とは?コマンドプロンプトとの違い
Power Shellは、マイクロソフトにより開発されたコマンドプロンプトの後継ツールで、Windowsに標準搭載されています。コマンドプロンプトでは不可能だった、複数の命令を組み合わせることができ、より高度な処理を行うことができます。

 

コマンドプロンプトについて詳しくは以下にあります↓

コマンドプロンプトとは?起動方法からコマンドの使い方について
コマンドプロンプトは、マウスを用いて操作するのではなく、「コマンド」と呼ばれる命令を入力することによって、ファイル操作や各種設定等を行うためのツールです。 GUIとCUIについて このコマンド(文字入力)によってコンピュータを操作することを...

 

PowerShellでのファイル操作に使うコマンドレット

ファイル操作で利用するコマンドレットです。

ファイル検索

Get-ChildItemはフォルダ名やファイル名の一覧を取得するコマンドレットです。
-Pathパラメータと-Filteパラメータを指定することで、任意のファイルを探すことができます。

Get-ChildItem -Path 探すフォルダのパス -Filte ファイル名

以下は、「Cドライブの中でtestが含まれるファイルやフォルダを検索する」という意味のコマンドです。

ファイルの場合は.txtなどの拡張子が付きますが、検索結果には拡張子がついていないので、「test」の文字が含まれたフォルダが1か所で見つかったことがわかります。

 

ファイル作成

New-Item ファイル名

上記のコマンドを実行すると、以下のようなエラーメッセージが出力されます。

既に同じファイル名のファイルが存在するというメッセージです。

 

そのため、ファイル作成時は既に同名のファイルが存在する場合は上書きをする、

-Forceオプションを付けて実行します。

New-Item ファイル名 -Force

 

フォルダ作成

New-Itemでフォルダを追加する場合は、-typeオプションを付けて、Directoryと指定します。

New-Item フォルダ名 -type directory -Force

こちらも-Forceを付けることで、同名フォルダが存在していた場合のエラーを回避します。

フォルダの場合は空のフォルダが上書きされるのではなく、同名フォルダの中身は保たれます。

 

ファイル移動/フォルダ移動

移動のコマンドレットは Move-Item です。

例として、Cドライブ上にフォルダを2つ作成し、ファイルの移動とフォルダの移動をテストします。

ファイル名を変えない場合は以下のコマンドを実行します。

Move-Item 移動元ファイル 移動先ディレクトリ

移動先にファイルがそのままの名前で移動しました。

 

ファイル名を変える場合は以下のコマンドを実行します。

移動先ファイル名は、変更後のファイル名を指定します。

Move-Item 移動元ファイル 移動先変更後ファイル名

移動先に指定したファイル名で移動していることが確認できます。

フォルダを移動する場合は、上記コマンドのファイル名をフォルダ名に変換して実行します。

 

ファイルコピー/フォルダコピー

移動のコマンドレットは Copy-Item です。

先ほどの例を使って、コピーコマンドも試してみます。

「移動先フォルダ」「移動元フォルダ」のフォルダ名を「コピー先フォルダ」「コピー元フォルダ」に変更しました。

Copy-Item コピー元ファイル コピー先ディレクトリ

複製後のファイル名を変える場合は以下のコマンドを実行します。

コピー先ファイル名は、変更後のファイル名を指定します。

Copy-Item コピー元ファイル コピー先ファイル名

こちらもコピー先フォルダに名前変更後のファイルが複製されていることが確認できます。

コピー元フォルダにはそのままファイルが残っている状態です。

 

フォルダ内表示

Get-ChildItem でフォルダ内の表示ができます。

-File オプションを付与することで、ファイルのみを取得するようになります。

Get-ChildItem フォルダ名 -File

 

プログラムの起動と停止

Start-Process コマンドレットを使用することで、(.exe)などのアプリ実行やソースコードの起動を行うことができます。

Start-Process アプリ名

代表的なアプリで試してみます。

 

Excel

Word

Outlook

Access

メモ帳

Edgeブラウザ

 

起動したプロセスの停止は、STOP-Processを使うことでできます。

STOP-Process プロセスID

アプリの終了をするためには、アプリ名ではなくプロセスごとのIDを指定する必要があります。

 

プロセスIDの取得には、GET-Processにアプリ名を付けることで取得できます。

GET-Process アプリ名

IDは19056ということが確認できました。

プロセス停止にプロセスIDを指定してアプリの終了してみます。

 

IPネットワーク情報(ipconfigの代わり)

IPネットワークの構成を取得します。

設定されているIPアドレス等の情報を取得できます。

Get-NetIPConfiguration -all

-allパラメータを付け、全ての情報を取得します。

IPv4AddressがパソコンのIPアドレスです。

IPv4DefaultGatewayが内部と外部のネットワークをつなぐルーターのIPアドレスです。

パソコンのIPアドレスとルーターのIPアドレスが同じ10.55~の系統であれば、パソコンとルーターの接続はできているといえます。

 

まとめ

PowerShellのコマンドレットは、複数のコマンドを実行したりなど、複雑な命令を処理することができます。

コマンドレットは「動詞-名詞」という形式になっており、コマンドプロンプトに比べコマンドを打つ量が少なく直感的に利用できるのが特徴です。

ファイル操作やプログラムの起動、タスクスケジューラとの組み合わせで、業務効率化に取り入れてみてください。

PowerShellをタスクスケジューラから実行する

PowerShellをタスクスケジューラから実行する
PowerShellとタスクスケジューラを組み合わせることで、決められた時間に、決められた処理を自動で実行することができます。 今回はCドライブ直下に置いたPowerShellスクリプトファイル(.ps1)をタスクスケジューラから自動実行す...