簡體   English   中英

Dot采購不以.ps1結尾的PowerShell腳本

[英]Dot sourcing a PowerShell script not ending with .ps1

從PowerShell程序,我可以“點源”另一個PowerShell程序。 即我可以執行它,就像它寫在第一個內部一樣。
例:

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

主程序中“包含”的MyOtherProgram,就像其內容已被復制/粘貼一樣。

問題是:我只能點源一個用.ps1完成的文件名
我不能用MyOtherProgram.libMyOtherProgram.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM