Сведения о вопросе

Sadijon

01:27, 21st August, 2020

Теги

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

Просмотров: 599   Ответов: 3

Например; со старой командной строкой это будет:

cmd.exe /k mybatchfile.bat



  Сведения об ответе

crush

14:12, 19th August, 2020

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

powershell -?

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


  Сведения об ответе

COOL

21:34, 4th August, 2020

При запуске 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, а параметр ; разделяет команды PowerShell.

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


  Сведения об ответе

SSESION

16:33, 1st August, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться