Ich habe zwei PowerShell-Dateien. a.ps1 und b.ps1.
An einem Mittelpunkt in a.ps1 möchte ich mit der Ausführung von Code in b.ps1 beginnen und das a.ps1-Skript beenden.
Wie geht das, wenn man bedenkt, dass sich beide Dateien im selben Ordner befinden?
powershell
window
GibboK
quelle
quelle
Antworten:
Ist es in Ordnung, wenn b.ps1 in einem neuen Power Shell-Prozess ausgeführt wird? Wenn ja, sollte das Folgende das tun, was Sie beschreiben.
"Invoke-Expression" wird im selben Prozess ausgeführt, wartet jedoch auf die Beendigung von b.ps1.
quelle
In a.ps1,
die Art und Weise, wie Sie andere Programme aufrufen
quelle
Ich habe dies aus einem anderen Artikel erhalten, aber es kann hier angewendet werden: Danke ( /programming//users/3905079/briantist )
Wenn Sie in einer Sitzung mehrere Anrufe an einen Remotecomputer tätigen möchten, erstellen Sie zunächst eine PSSession:
Verwenden Sie diese Sitzung dann in allen nachfolgenden Aufrufen:
} Schließen Sie dann die Sitzung, wenn Sie fertig sind:
Auch wenn Sie nicht genau wissen, wie das Skript aussehen wird, aber wissen, wo Ihr Skript startet, können Sie Folgendes tun:
(Das ist meins)
quelle
Verwenden Sie die magische Variable $ PSScriptRoot, um auf Ihr aktuelles Verzeichnis zu verweisen. Rufen Sie dann Skript B mit dem kaufmännischen Und ("Anrufoperator") auf:
Wenn Sie die Variablen von B im Bereich von A behalten möchten, können Sie das Skript mit dem Dot-Sourcing-Operator ausführen:
quelle