見出し画像

PowerShellを実行形式exe化したときにハマるポイント

PowerShellを実行形式exe化したときにハマるポイントがあったのでメモとして記事にしました。


exe化する記事はこちら


exe化した時の実行中ファイルが存在するディレクトリ

PowerShellのコードを「ファイル名.ps1」として保存して、
そのファイルを実行しているとき、コードの中でそのファイル自身が存在するディレクトリを知りたいことがあると思います。そのとき、普通なら$PSScriptRootを使えば分かります。


## 普通は$PSScriptRoot
Write-Host '★$PSScriptRoot'
$dir = $PSScriptRoot
Write-Host $dir
pause


しかし、これをexe化して実行すると$PSScriptRootの中身がカラで何も表示されません。

この場合pwdを使います。

## exe化した時はpwd
Write-Host '★pwd'
$dir = pwd
Write-Host $dir.path
pause


どうして動作が変わっちゃうのか分からんのですけど、これで解決しました。


#PowerShell #コードレット #プログラミング初心者 #プログラミング学習
#exe化 #PSScriptRoot

この記事が気に入ったらサポートをしてみませんか?