如何从 Powershell 命令行在 Notepad++ 中打开文件?
在 PowerShell 中,我可以简单地使用启动并获得一般结果
我就是用notepad++打开一个python文件。
Start notepad++ ex1.py
这将启动记事本++并加载文件 ex1.py 假设您与 .py 文件位于同一目录中。您可以通过添加完整路径名来更改它
start notepad++ c:\users\you\desktop\files\ex1.py
由于默认路径包含空格,因此您必须引用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++
打开Notepad++并在当前路径中创建一个新的空文件
start notepad++ newFile.txt
使用现有文件打开 Notepad++
start notepad++ apples.txt
指定路径并打开多个文件
start notepad++ fruits/apples.txt, fruits/oranges.txt, package.json
编辑您的个人资料并添加别名
Set-Alias -name 'npp' -value 'C:\Program Files\Notepad++\notepad++.exe'
然后:
npp c: emp est.txt
编辑您的个人资料:
npp $简介
等等
根据之前的答案进行推断,并将它们打成整齐的蝴蝶结: 如果您想打开路径或名称中带有空格的文件:
. '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。
我知道这是一个老问题,但我偶然发现了一些解决方法,而且非常简单。如果您通过 Chocolatey 安装和维护 Notepad++(想想 Windows 上的 apt-get,但构建在 NuGet 之上),那么您将获得一个可以从命令行调用的填充程序。
cinst notepad++
即使您已经安装了记事本,您仍然可以从 Chocolatey 中“安装”它,并且它将拉入现有安装并对其进行维护。
我尽可能多地使用 Chocolatey,因为你可以一次性更新所有内容。
此后,从 PowerShell 编辑内容变得轻而易举。喜欢我的 PowerShell 个人资料:
notepad++ $PROFILE
希望这对某人或几个人有帮助!
就我而言,我想以文件作为参数启动 Notepad++,并以管理员身份打开。我想打开 PowerShell 配置文件之一。我必须使用以下命令变体:
start-process -Verb runas -filepath "C:\Program Files (x86)\Notepad++\notepad++.exe" "`"$($PROFILE.AllUsersAllHosts)`""
所有其他变体都不起作用,我认为是由于要打开的文件路径中存在空格。因此,您必须将
"
转义为:
"He said `"This is fun.`""
要将多个参数传递给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
文件。