54

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

4

6 回答 6

89

在 powershell 中,我可以简单地使用 start 并获得一般结果

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

Start notepad++ ex1.py

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

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

希望这可以帮助!

于 2013-02-14T23:08:51.650 回答
6

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

C:\ PS> 'Hello world'
Hello world

因此,您必须告诉 PowerShell 您要调用由字符串命名的命令。为此,您使用呼叫运算符,&例如:

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

或者如果记事本++ 在您的路径中:

  C:\ PS> notepad++

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

  C:\ PS> .\notepad++
于 2013-02-14T21:24:37.463 回答
3

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

start notepad++ newFile.txt

使用现有文件打开 Notepad++

start notepad++ apples.txt

指定路径并打开多个文件

start notepad++ fruits/apples.txt, fruits/oranges.txt, package.json
于 2020-04-20T15:15:58.120 回答
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。

于 2019-11-05T05:49:05.383 回答
0

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

cinst notepad++

即使您已经安装了现有的记事本,您仍然可以从 Chocolatey“安装”它,它会拉入现有安装并维护它。

我尽可能多地使用 Chocolatey,因为您可以一口气更新所有内容。

之后,从 PowerShell 中编辑内容变得轻而易举。就像我的 PowerShell 配置文件一样:

notepad++ $PROFILE

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

于 2020-03-24T13:05:56.187 回答
0

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

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

所有其他变体都不起作用,我认为是由于要打开的文件路径中有空格。所以,你必须逃避"as:

"He said `"This is fun.`""
于 2022-01-24T17:09:01.353 回答