sintaxis scripts script habilitar ejemplos ejecutar ejecucion desde bat powershell batch-file

scripts - script powershell ejemplos



¿Cómo hago para que Powershell ejecute un archivo por lotes y luego permanezca abierto? (3)

Por ejemplo; con el antiguo símbolo del sistema sería:

cmd.exe /k mybatchfile.bat


Coloque en una instancia de cmd (o de hecho PowerShell sí mismo) y escriba esto:

powershell -?

Verá que powershell.exe tiene un parámetro "-noexit" que le dice que no salga después de ejecutar un "comando de inicio".


Estoy seguro de que ya lo resuelves, pero simplemente lo publico

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


Al ejecutar PowerShell.exe, simplemente proporcione el modificador -NoExit de la siguiente manera:

PowerShell -NoExit -File "C:/SomeFolder/SomePowerShellScript.ps1" PowerShell -NoExit -Command "Write-Host ''This window will stay open.''"

O si desea ejecutar un archivo y luego ejecutar un comando y tener la ventana abierta, puede hacer algo como esto:

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

El parámetro -Command está implícito si no se proporciona, y aquí usamos & para llamar al script de PowerShell, y ; separa los comandos de PowerShell.

Además, en la parte inferior de la publicación de mi blog , muestro un rápido cambio de registro que puede hacer para que PowerShell permanezca siempre abierto después de ejecutar un script / comando, para que no tenga que proporcionar explícitamente siempre el hora.