Подтвердить что ты не робот

Как заставить Powershell запускать пакетный файл, а затем оставаться открытым?

Например; с помощью старой командной строки:

cmd.exe /k mybatchfile.bat
4b9b3361

Ответ 1

Перейдите в экземпляр cmd (или действительно сам PowerShell) и введите это:

powershell -?

Вы увидите, что у параметра powershell.exe есть параметр "-noexit", который указывает, что он не должен выйти после выполнения "команды запуска".

Ответ 2

При запуске PowerShell.exe просто установите переключатель -NoExit следующим образом:

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

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

Или если вы хотите запустить файл, а затем запустить команду и открыть окно, вы можете сделать что-то вроде этого:

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

Параметр -Command подразумевается, если не указан, и здесь мы используем & для вызова PowerShell script и ; разделяет команды PowerShell.

Кроме того, внизу мое сообщение в блоге Я показываю быстрое изменение реестра, которое вы можете сделать, чтобы PowerShell всегда оставался открытым после выполнения a script/, так что вам не нужно всегда явно указывать переключатель -NoExit все время.

Ответ 3

Я уверен, что вы уже это выяснили, но я просто разместил его

$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"