.png)
Estoy en un servidor Windows (2012) con Powershell_ISE y antes de instalar software adicional quería editar y probar un script en Powershell_ISE (es mejornativosolución que usar notepad + cmd.exe debido a la edición con pestañas, por ejemplo)
Idea: método abreviado de teclado para una entrada de menú (en "Complementos" en el menú) dondeperl.exese llama con la ruta del script actual como parámetro.
Probé las siguientes líneas:
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; saps "c:\strawberry\perl\bin\perl.exe" $cur.FullPath },'Ctrl+Alt+q')
(con saps=start-process) o
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath },'Ctrl+Alt+e')
(con & = ejecutar comando externo) o
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; saps "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+w')
(iniciar proceso y esperar)
Una ventana cmd parpadea brevemente pero en el panel de la consola no hay salida. (Perlscript simplemente imprime "prueba" y funciona cuando se ejecuta directamente ejecutando: & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath
en el panel de la consola)
Si esto funciona, puede agregar esta línea al perfil $ de Powersehll_ISE para editar/ejecutar scripts de todos los idiomas llamando al binario apropiado.
Respuesta1
Un minuto después probé la siguiente línea (con &
en combinación con -wait
y funciona:
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl-Menu_Entry",{$cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+y')
(También puedes usar las teclas "F", por ejemplo: en lugar de 'ctrl+alt+y' simplemente usa 'F4')
Para guardar el archivo antes de ejecutar agregue $psise.CurrentFile.Save()
a la línea:
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl-Menu_Entry",{$psise.CurrentFile.Save(); $cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+y')