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

Вопрос задан: 11 лет назад Последняя активность: 6 лет назад
up 17 down

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

cmd.exe /k mybatchfile.bat

3 ответа

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Реклама

up 28 down accepted

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

powershell -?

Вы увидите, что powershell.exe имеет параметр «-noexit», который запрещает выход после выполнения «команды запуска».

up 7 down

При запуске 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 всегда оставался открытым после выполнения скрипта/команды, чтобы вам не нужно было всегда явно указывать ключ -NoExit все время.

up -1 down

Я уверен, что вы уже поняли это, но я просто опубликовать это

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

Ошибка 505

Что-то пошло не так

Попробуйте воспользоваться поиском