开发者

How to execute a PowerShell script from Notepad++

开发者 https://www.devze.com 2023-01-29 08:19 出处:网络
I am using Notepad++ to edit a PowerShell file and w开发者_StackOverflow社区ant to be able to execute that file from inside Notepad++.

I am using Notepad++ to edit a PowerShell file and w开发者_StackOverflow社区ant to be able to execute that file from inside Notepad++.

How can I set that up?


It took me a little fiddling, but I finally got this working. (I am using version 1.0 but this should work in other versions as well.)

Notepad++ can be set up to run commands, and assign shortcuts to those commands, as follows:

From the menu, click Run → Run

Add the command

C:\NotepadRun.bat "$(FULL_CURRENT_PATH)"

Save the command, giving it a name and a key shortcut.

Below are the contents of the batch file. I named mine NotepadRun.bat, but you can name it whatever.

@echo off

GOTO %~sx1
:.ps1
 cd "%~d1%~p1"
 powershell.exe .\%~n1%~sx1 
 GOTO end
:.rb
 ruby "%~f1"
 GOTO end
:.php
 php "%~f1"
 GOTO end

:end

pause

As a note upgrading to Windows7 and Powershell 2 I found some Issues with this and have updated to passing in an ExecutionPolicy to ensure I can run the script I am editing.

:.ps1
  cd "%~d1%~p1"
  powershell -ExecutionPolicy Unrestricted -File "%~n1%~sx1"
  GOTO end


See Using Notepad++ to Compile and Run Java Programs and replace "javac" with "C:Windows\system32\WindowsPowerShell\v1.0\powershell.exe" (or your path to PowerShell). (Caveat: I'm not a Notepad++ user and haven't tried this.)

That said, I'd just use PowerShell ISE (installs with PowerShell) or one of the other dedicated PowerShell IDEs instead.


I would recommend using PowerShell ISE which comes as part of PowerShell and designed specifically for Powershell.


You can run a saved script from "Run" -> "Run" menu in Notepad++ with the following command:

powershell.exe -noexit -command . \"$(FULL_CURRENT_PATH)\"


Based on the answers before:

powershell.exe -ExecutionPolicy Unrestricted -NoLogo -File "$(FULL_CURRENT_PATH)"

You can also add the -NoExit parameter to keep PowerShell from closing automatically:

powershell.exe -ExecutionPolicy Unrestricted -NoExit -NoLogo -File "$(FULL_CURRENT_PATH)"

Note: File has to be saved.

0

精彩评论

暂无评论...
验证码 换一张
取 消