3

PowerShell プログラムから、別の PowerShell プログラムを「ドット ソース」することができます。つまり、最初のものの中に書かれているかのように実行できます。
例:

Write-Host 'before'
. MyOtherProgram.ps1
Write-Host 'after'

MyOtherProgram は、メイン プログラム内に「含まれて」おり、その内容がコピー/貼り付けされた場合とまったく同じです。

.ps1
問題は: I can't with MyOtherProgram.liborで終わるファイル名をドットソースすることしかできないMyOtherProgram.whatever

で終わらないPowerShellスクリプトをドットソースする方法は誰にもあり.ps1ますか?

4

2 に答える 2

5

別の方法は次を使用することInvoke-Expressionです:

$code = Get-Content ./MyOtherProgram.lib | Out-String
Invoke-Expression $code
于 2012-05-11T07:52:00.667 に答える
1

これが PowerShell にコンパイルされているのか、それとも構成可能なのかはわかりませんが、それを行う 1 つの方法は、スクリプトで一時的に名前を変更し、インポートしてから、名前を元に戻すことです。

Rename-Item C:\Path\MyScript.whatever C:\Path\MyScript.ps1
. C:\Path\MyScript.ps1
Rename-Item C:\Path\MyScript.ps1 C:\Path\MyScript.whatever
于 2012-05-10T23:43:15.723 に答える