0
我在單獨的文件中有功能,我需要在一個主文件中作爲作業運行。將腳本的相對路徑傳遞給PowerShell作業
我需要能夠傳遞這些函數參數。
現在我的問題是弄清楚如何將函數文件的路徑以不完全可怕的方式傳遞給作業。
我需要在提高可讀性文件的頂部定義的函數(只是有一個靜態的評論,說「腳本使用somefunc.ps1」是不夠的)
我還需要參考腳本相對路徑(它們將全部在相同的文件夾中)。
現在我正在使用env:來存儲腳本的路徑,但是這樣做我需要在5個地方參考腳本!
這是我有:
testJobsMain.ps1:
#Store path of functions in env so jobs can find them
$env:func1 = "$PSScriptRoot\func1.ps1"
$env:func2 = "$PSScriptRoot\func2.ps1"
$arrOutput = @()
$Jobs = @()
foreach($i in ('aaa','bbb','ccc')) {
$Import = {. $env:func1}
$Execute = {func1 -myArg $Using:i}
$Jobs += Start-Job -InitializationScript $Import -ScriptBlock $Execute
}
$JobsOutput = $Jobs | Wait-Job | Receive-Job
$JobsOutput
$Jobs | Remove-Job
#Clean up env
Remove-Item env:\func1
$arrOutput
func1.ps1
function func1($myArg) { write-output $myArg }
func2.ps1
function func2($blah) { write-output $blah }