Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Powershell

Powershellで実行中のファイル名を取得する方法

投稿日:2020年12月31日 更新日:

<目次>

(1) Powershellで実行中のファイル名を取得する方法
 (1-1) 構文①
 (1-2) 構文①サンプルプログラム
 (1-3) 構文②
 (1-4) 構文②サンプルプログラム

(1) Powershellで実行中のファイル名を取得する方法

今まさに実行中のPowershellのファイル名を取得する方法についてです。

(1-1) 構文①

1つ目の構文は「$MyInvocation」自動変数を用いた方法です。「自動変数」はPowershell自体に関する情報を保持する変数です。

(構文①)

$MyInvocation.MyCommand.Name

まず「$MyInvocation.MyCommand」によって「ps1ファイルオブジェクト」が返却されます。その中の「Name」属性を出力する事で「現在実行中のPowershellのファイル名」を取得できます。

ちなみに、PS バージョン3以降でも使えていますが、後述する構文の方がよりシンプルかも知れません。

(例)
# 実行中のPSファイルパスを取得し、変数に格納
$ScriptDir = Split-Path $MyInvocation.MyCommand.Path -Parent
echo $ScriptDir

(図111)実行結果

目次にもどる

(1-2) 構文①サンプルプログラム

現在実行中のPSファイルがあるフォルダ配下の「一覧」を取得するサンプルです。

(例)

# 実行中のPSファイルパスを取得し、変数に格納
$ScriptDir = Split-Path $MyInvocation.MyCommand.Path -Parent
echo $ScriptDir
# 実行中のPSファイルパス配下のフォルダ・ファイル一覧を取得
Get-ChildItem -Path $ScriptDir

(図121)実行結果

「$MyInvocation」は実行されたコマンドに対する各種の情報を保持しています。例えば次のような項目です。

・実行ファイル名
・コマンドの起動方法
・コマンドの呼び出し元

(1-3) 構文②

2つ目の構文は「$PSScriptRoot」自動変数を用いた方法です。

(例)

# 実行中のPSファイルパスを取得し、変数に格納
$ScriptDir = $PSScriptRoot
echo $ScriptDir

(図131)実行結果

目次にもどる

(1-4) 構文②サンプルプログラム

現在実行中のPSファイルがあるフォルダ配下の「一覧」を取得するサンプルです。先程の構文①のサンプルと処理内容は同じですが、こちらの方が記載がシンプルで、より見やすいですね。

(例)

# 実行中のPSファイルパス配下のフォルダ・ファイル一覧を取得
Get-ChildItem -Path $PSScriptRoot

(図141)実行結果

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Powershell

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

バッチから引数を与えてPowershellを実行する方法

<目次> (1) バッチからPowershellを実行する方法  (1-1) 構文①  (1-2) 構文② (2) バッチから引数を与えてPowershellを実行する方法  (2-1) 引数を表現す …

Powershellで文字列をタブ区切りで分割~splitオペレータの活用~

<目次> (1) Powershellで文字列をタブ区切りで分割~splitオペレータの活用~  (1-1) 構文  (1-2) サンプルプログラム    (サンプルプログラム#1)ベーシックな「-s …

「このシステムではスクリプトの実行が無効になっているため、ファイルXXXを読み込みことができません」エラー(PowerShell)が出る原因と対処方法

<目次> (1) 「このシステムではスクリプトの実行が無効になっているため、ファイルXXXを読み込みことができません」エラー(PowerShell)が出る原因と対処方法  (1-1) エラーメッセージ …

Powershellで文字列がnullかどうか判定する方法

<目次> (1) Powershellで文字列がnullかどうか判定する方法  (1-1) 構文  (1-2) 構文使用例  (1-3) サンプルプログラム (1) Powershellで文字列がnu …

Powershellで文字列のダブルクォーテーションを削除する方法

<目次> (1) Powershellで文字列のダブルクォーテーションを削除する方法  (1-1) 方法1:.NETのString.Formatメソッドを使う方法  (1-2) 方法2:Powersh …

  • English (United States)
  • 日本語
Top