从 PowerShell 打开 Notepad++

问题描述 投票:0回答:8

如何从 Powershell 命令行在 Notepad++ 中打开文件?

powershell notepad++
8个回答
102
投票

在 PowerShell 中,我可以简单地使用启动并获得一般结果

我就是用notepad++打开一个python文件。

Start notepad++ ex1.py

这将启动记事本++并加载文件 ex1.py 假设您与 .py 文件位于同一目录中。您可以通过添加完整路径名来更改它

start notepad++ c:\users\you\desktop\files\ex1.py

7
投票

由于默认路径包含空格,因此您必须引用exe的路径。然而,因为PowerShell也是一种脚本语言。字符串本身被简单地评估为字符串,例如:

C:\ PS> 'Hello world'
Hello world

因此,您必须告诉 PowerShell 您要调用由该字符串命名的命令。为此,您可以使用呼叫运算符

&
,例如:

C:\ PS> & 'C:\Program Files (x86)\Notepad++\notepad++.exe'

或者如果 notepad++ 在你的路径中:

  C:\ PS> notepad++

或者如果您与 exe 位于同一目录中:

  C:\ PS> .\notepad++

3
投票

打开Notepad++并在当前路径中创建一个新的空文件

start notepad++ newFile.txt

使用现有文件打开 Notepad++

start notepad++ apples.txt

指定路径并打开多个文件

start notepad++ fruits/apples.txt, fruits/oranges.txt, package.json

3
投票

编辑您的个人资料并添加别名

Set-Alias -name 'npp' -value 'C:\Program Files\Notepad++\notepad++.exe'

然后:

npp c: emp est.txt

编辑您的个人资料:

npp $简介

等等


2
投票

根据之前的答案进行推断,并将它们打成整齐的蝴蝶结: 如果您想打开路径或名称中带有空格的文件:

. 'C:\Program Files (x86)\Notepad++\notepad++.exe' 'C:\Temp\File With Spaces.txt' 

& 'C:\Program Files (x86)\Notepad++\notepad++.exe' 'C:\Temp\File With Spaces.txt'

也可以将其设置为别名:

Set-Alias -Value 'C:\Program Files (x86)\Notepad++\notepad++.exe' -Name 'NotePad'
$FileWithSpaces = 'C:\T e m p\File With Spaces.txt'
NotePad $FileWithSpaces

此处的顶行可以复制到您的 $Profile .ps1 文件(之一)中,因此您无需在每个新 PS 实例中继续使用 Set-Alias。


0
投票

我知道这是一个老问题,但我偶然发现了一些解决方法,而且非常简单。如果您通过 Chocolatey 安装和维护 Notepad++(想想 Windows 上的 apt-get,但构建在 NuGet 之上),那么您将获得一个可以从命令行调用的填充程序。

cinst notepad++

即使您已经安装了记事本,您仍然可以从 Chocolatey 中“安装”它,并且它将拉入现有安装并对其进行维护。

我尽可能多地使用 Chocolatey,因为你可以一次性更新所有内容。

此后,从 PowerShell 编辑内容变得轻而易举。喜欢我的 PowerShell 个人资料:

notepad++ $PROFILE

希望这对某人或几个人有帮助!


0
投票

就我而言,我想以文件作为参数启动 Notepad++,并以管理员身份打开。我想打开 PowerShell 配置文件之一。我必须使用以下命令变体:

start-process -Verb runas -filepath "C:\Program Files (x86)\Notepad++\notepad++.exe"  "`"$($PROFILE.AllUsersAllHosts)`""

所有其他变体都不起作用,我认为是由于要打开的文件路径中存在空格。因此,您必须将

"
转义为:

"He said `"This is fun.`""

0
投票

要将多个参数传递给Notepad ++,您必须使用数组作为

Start
的第二个参数:

Start notepad++ "C:\Users\user\Documents\PS Scripts\script.ps1","-n100"

更明确地说:

Start notepad++ @("C:\Users\user\Documents\PS Scripts\script.ps1","-n100")

相当于直接在命令行中输入:

notepad++ "C:\Users\user\Documents\PS Scripts\script.ps1" -n100

这将打开第 100 行的

script.ps1
文件。

© www.soinside.com 2019 - 2024. All rights reserved.