0
我有一個PowerShell腳本,將啓動兩個不同進程的多個實例。Powershell等到進程完成同時進程運行
我想能夠啓動多個同時發生的gbak實例,並且我不希望7zip開始直到第一個gbak實例完成,並且我希望7zip的一個新實例每次啓動一個實例的gbak完成。
這裏是我的腳本,因爲它代表:
Import-Module "sqlps" -DisableNameChecking
Invoke-Sqlcmd -Query "USE ASPNETDB; SELECT DATABASELOCATION, SITEID FROM FIREBIRDCONNECTIONS;" -ServerInstance "DV-SQLSTAG01\EXPRESS2014" | Export-CSV - Path "C:\Scripts\strings.csv"
C:
CD C:\Scripts
$fbConn = Import-Csv -Path .\strings.csv
ForEach ($site in $fbConn) {
$cString = $site.DATABASELOCATION
$siteid = $site.SITEID
$backupDir = "D:\DBBackups"
$backupFile = "Cpib_$siteid.bak"
$gbak = ".\gbak.exe"
$gbakArgs = "-b -g -user sysdba -password masterkey $cString $backupDir\$backupFile"
$7zip = ".\7za.exe"
$7zArgs = "a -v1g -r -y -t7z -mx=3 $backupDir\[email protected]$(get-date -f yyyyMMdd).7za $backupDir\$backupFile"
Start-Process $gbak $gbakArgs
Start-Process $7zip $7zArgs
}
現在什麼應用程序正在做的是推出GBAK和7zip的的所有實例在同一時間,一次全部。我可以在gbak的start-process命令後面使用一個等待命令,但它只會啓動一個gbak實例。我希望它能讓他們一次完成。
這似乎輸出與不同的作業顯示「運行」或「已完成」的狀態的表,但實際上並沒有啓動這兩種過程,直至。 –
我錯過了參數部分,現在編輯我的答案,再試一次。 –
我得到了同樣的結果,只有現在,而不是兩個正在運行的工作,兩個完成,它只顯示兩個完成。它仍然不會真正開始這個過程。 –