如何从Notepad++中执行PowerShell脚本

14

我正在使用Notepad ++编辑PowerShell文件,想要能够从Notepad ++内部执行该文件。

我应该如何设置?

5个回答

8
我花了一点时间摆弄,但最终使这个工具能够正常工作。 (我使用的是1.0版本,但其他版本也应该可以使用。)
Notepad++可以设置运行命令,并将快捷键分配给这些命令,方法如下:
从菜单中点击“运行→运行”
添加命令
C:\NotepadRun.bat "$(FULL_CURRENT_PATH)"
保存命令,为其命名并设置一个键盘快捷键。
以下是批处理文件的内容。 我将其命名为NotepadRun.bat,但您可以随意命名。
@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

升级到Windows7和Powershell 2后,我发现一些问题,并更新了传递ExecutionPolicy来确保我可以运行正在编辑的脚本。

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

谢谢你的回答 - 这让它变得简单而棒极了! Notepad++一直是我最喜欢的编辑器之一,现在它更加出色。 (无关语言 + Markdown支持 + 众多插件) - m1m1k

3
我建议使用 PowerShell ISE,它是 PowerShell 的一部分,专门为 PowerShell 设计。

PowerShell ISE很好,但它会锁定文件,并且没有像NPP一样的搜索、高亮等好用的功能。 - Sasha Bond

3
您可以通过以下命令在Notepad++的“运行”菜单中运行已保存的脚本: ``` Run -> Run ```
powershell.exe -noexit -command . \"$(FULL_CURRENT_PATH)\"

我不记得为什么使用了“-command”。但你说得对,我本来可以使用“-file”,这样整个命令会更清晰。 - SlimCodey
似乎有一个原因,但显然不是这样... :D - FatalBulletHit

2
请参考使用Notepad++编译和运行Java程序,并将“javac”替换为“C:Windows \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe”(或您的PowerShell路径)。 (注意:我不是Notepad ++用户,也没有尝试过这种方法。)同时,我建议使用PowerShell ISE(随PowerShell一起安装)或其他专用的PowerShell IDE。

我同意...你可以这样做,但保持一个PowerShell shell、ISE和Notepad++始终打开可能更容易和更有效率。我在命令行上编写和测试,然后在Notepad++中传输和编辑,最后在命令行上运行脚本,如果需要的话,使用ISE进行调试。虽然我很少使用ISE。 - Robert S Ciaccio
PowerShell已经在“PATH”中,所以我想不需要实际提供完整路径。 - Joey

2

根据之前的回答:

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

您还可以添加-NoExit参数,以防止PowerShell自动关闭:
powershell.exe -ExecutionPolicy Unrestricted -NoExit -NoLogo -File "$(FULL_CURRENT_PATH)"

注意: 文件必须保存。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接