[英]Dot sourcing a PowerShell script not ending with .ps1
從PowerShell程序,我可以“點源”另一個PowerShell程序。 即我可以執行它,就像它寫在第一個內部一樣。
例:
Write-Host 'before'
. MyOtherProgram.ps1
Write-Host 'after'
主程序中“包含”的MyOtherProgram,就像其內容已被復制/粘貼一樣。
問題是:我只能點源一個用.ps1
完成的文件名
我不能用MyOtherProgram.lib
或MyOtherProgram.whatever
任何人都有一種方法來點源PowerShell腳本而不是以.ps1
結尾?
另一種方法是使用Invoke-Expression
:
$code = Get-Content ./MyOtherProgram.lib | Out-String
Invoke-Expression $code
我不知道這是否編譯成PowerShell或者它是否可配置但是一種方法是讓你的腳本暫時重命名它,導入它然后重命名它。
Rename-Item C:\Path\MyScript.whatever C:\Path\MyScript.ps1
. C:\Path\MyScript.ps1
Rename-Item C:\Path\MyScript.ps1 C:\Path\MyScript.whatever
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.