Zum Beispiel; Prompt mit dem alten Befehl wäre es:Wie mache ich Powershell eine Batch-Datei ausführen und dann offen bleiben?
cmd.exe /k mybatchfile.bat
Zum Beispiel; Prompt mit dem alten Befehl wäre es:Wie mache ich Powershell eine Batch-Datei ausführen und dann offen bleiben?
cmd.exe /k mybatchfile.bat
Tropfen in eine cmd-Instanz (oder in der Tat Powershell selbst) und geben Sie diese:
powershell -?
Sie werden feststellen, dass powershell.exe sehen hat ein „- noexit "Parameter, der besagt, dass er nach dem Ausführen eines" Startbefehls "nicht beendet werden soll.
Ich bin sicher, dass Sie dies bereits herausfinden, aber ich poste es nur
$CreateDate = (Get-Date -format 'yyyy-MM-dd hh-mm-ss')
$RemoteServerName ="server name"
$process = [WMICLASS]"\\$RemoteServerName\ROOT\CIMV2:win32_process"
$result = $process.Create("C:\path to a script\test.bat")
$result | out-file -file "C:\some path \Log-$CreatedDate.txt"
Beim Laufen PowerShell.exe bieten nur die -NoExit Schalter wie folgt:
PowerShell -NoExit -File "C:\SomeFolder\SomePowerShellScript.ps1"
PowerShell -NoExit -Command "Write-Host 'This window will stay open.'"
Oder wenn Wenn Sie eine Datei ausführen und dann einen Befehl ausführen möchten und das Fenster geöffnet bleiben soll, können Sie beispielsweise Folgendes tun:
PowerShell -NoExit "& 'C:\SomeFolder\SomePowerShellScript.ps1'; Write-Host 'This window will stay open.'"
Der -Command Parameter wird angedeutet, wenn nicht zur Verfügung gestellt, und hier verwenden wir die & das Powershell-Skript aufrufen, und die ; trennt die PowerShell-Befehle.
Am Ende von my blog post zeige ich eine schnelle Änderung der Registrierung, die Sie vornehmen können, damit PowerShell nach dem Ausführen eines Skripts/Befehls immer geöffnet bleibt, so dass Sie nicht immer explizit die Option -NoExit bereitstellen müssen die ganze Zeit.
Kann test.bat ein anderes Skript ps1 sein (c: \ Pfad zu einem Skript \ test.ps1)? jede volle Probe darüber? – Kiquenet