Wie führe ich Powershell ausführen einer batch-Datei und dann geöffnet bleiben?

StackOverflow https://stackoverflow.com/questions/14300

  •  08-06-2019
  •  | 
  •  

Frage

Für Beispiel;mit der alten Eingabeaufforderung wäre es:

cmd.exe /k mybatchfile.bat
War es hilfreich?

Lösung

Drop in eine cmd-Instanz (oder auch PowerShell selbst) und geben Sie diese:

powershell -?

Sie werden sehen, dass powershell.exe hat ein "-noexit" - parameter, welcher sagt, es nicht zu verlassen, nach dem ausführen einer "Start-Befehl".

Andere Tipps

Beim ausführen von PowerShell.exe geben Sie einfach die -NoExit wechseln Sie wie so:

PowerShell -NoExit -File "C:\SomeFolder\SomePowerShellScript.ps1"

PowerShell -NoExit -Command "Write-Host 'This window will stay open.'"

Oder wenn Sie möchten, führen Sie eine Datei, und führen Sie dann einen Befehl, und die Fenster offen bleiben, können Sie so etwas wie dies tun:

PowerShell -NoExit "& 'C:\SomeFolder\SomePowerShellScript.ps1'; Write-Host 'This window will stay open.'"

Die -Befehl parameter ist implizit, falls nicht angegeben, und hier verwenden wir die & zum Aufruf der PowerShell-Skript und der ; trennt die PowerShell-Befehle.

Auch an der Unterseite der my blog post Ich zeige eine schnelle änderung der Registrierung, die Sie machen können, um immer über PowerShell geöffnet bleibt, nachdem der Ausführung ein script/Befehl, so dass Sie nicht brauchen, um immer explizit den -NoExit-Schalter alle die Zeit.

Ich bin sicher, dass Sie schon herausfinden, aber ich poste es

$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"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top