.png)
Я работаю на Windows Server (2012) с Powershell_ISE и перед установкой дополнительного программного обеспечения я хотел отредактировать и протестировать скрипт в Powershell_ISE (он лучшероднойрешение, чем использование блокнота + cmd.exe, например, из-за редактирования с вкладками)
Идея: сочетание клавиш для входа в меню (в разделе «Дополнения»), гдеperl.exeвызывается с текущим путем к скрипту в качестве параметра.
Я попробовал следующие строки:
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; saps "c:\strawberry\perl\bin\perl.exe" $cur.FullPath },'Ctrl+Alt+q')
(с saps=start-process) или
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath },'Ctrl+Alt+e')
(с & = выполнить внешнюю команду) или
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; saps "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+w')
(запустить процесс и подождать)
Окно cmd мигает на короткое время, но на панели консоли нет вывода. (Perlscript просто печатает «test» и работает при непосредственном запуске: & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath
на панели консоли)
Если это сработает, вы можете добавить эту строку в $profile Powersehll_ISE для редактирования/выполнения скриптов всех языков путем вызова соответствующего двоичного файла
решение1
Минуту спустя я попробовал следующую строку ( &
в сочетании с , -wait
и это сработало):
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl-Menu_Entry",{$cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+y')
(Вы также можете использовать клавиши «F» — например, вместо «ctrl+alt+y» просто используйте «F4»)
Чтобы сохранить файл перед выполнением, добавьте $psise.CurrentFile.Save()
в строку:
$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')