satocchiaブログ

satocchiaブログ

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…
2017.08.21
XML
カテゴリ: powershell
「powershell スクリプトを書いているとき、自分自身のパスを知りたい」というのは、よくある話。ネットで検索すると、

$myInvocation.MyCommand.Path

を使えばおkみたいなことが書いてあります。
でも、似たようなのに、

$myInvocation.InvocationName

てのがあって、こっちも、スクリプトのパスを返すんです。

じゃ、何のために二つあるかというと、実は違いが。

$myInvocation.MyCommand.Pathはどこから呼んでも、そのスクリプトのパスを返すのですが、
$myInvocation.InvocationNameは別スクリプトから呼ばれると、"."ドットを返すみたい。



sample.ps1

function foo{
"..."
}
if ( ( split-path -leaf $myInvocation.InvocationName ) -eq "sample.ps1"){
    #fooを実行してみる
    foo
}

で、よそのスクリプトで
. sample.ps1
で呼び出しても、fooのテスト実行は行われないというわけ。






お気に入りの記事を「いいね!」で応援しよう

最終更新日  2018.06.07 09:57:18
コメントを書く
[powershell] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: