【问题标题】:Open notepad++ with a file in Windows PowerShell在 Windows PowerShell 中使用文件打开 notepad++
【发布时间】:2021-07-17 09:45:41
【问题描述】:

我想在 Windows PowerShell 中使用 notepad++ 打开位于网络驱动器上的文本文件。

我创建以下 PS1 文件

Set-Location -Path "C:\Program Files\Notepad++\"
$Targetfile="\\server\path\myfile.txt"
.\Notepad++.exe $Targetfile

错误信息:找不到文件

我可以在 Windows PowerShell 中运行以下命令吗(在 PowerShell 中运行带有路径的 exe 文件)

.\"C:\Program Files\Notepad++\notepad++.exe" "\\server\path\myfile.txt"

【问题讨论】:

  • "我能跑吗" - 试试看它是否有效。符号.\abc 表示“当前位置的abc”。如果Notepad++.exe 不在当前目录中,那么您当然会收到“找不到文件”消息。

标签: windows powershell


【解决方案1】:

注意:

  • 下面的答案包含有关从 PowerShell 调用可执行文件的常规信息。

  • 您的具体问题可能是以下之一:

    • 目录C:\Program Files\Notepad++ 中可能缺少可执行文件Notepad++.exe

    • 目标文件可能不存在或服务器可能无法访问。

请注意,如果该路径是完整(绝对)路径(如在您的第二次尝试中。
.\"C:\Program Files\Notepad++\notepad++.exe" ) 在逻辑上毫无意义,并且在实践中失败


如果Notepad++.exe 位于$env:PATH 环境变量中列出的目录之一中:

# Note: NO ".\" prefix, which is only needed to invoke an executable
#       located in the *current directory*.
Notepad++.exe $TargetFile

如果您需要通过完整路径引用它,则无需使用Set-Location 后跟.\-前缀调用(除非您确实需要工作目录作为 Notepad++ 的安装目录)。

要直接通过完整路径调用它,请使用&call operator

& "C:\Program Files\Notepad++\notepad++.exe" $TargetFile

请注意,在这种情况下,&必需的,因为您的可执行路径被引用,这是必要的,因为包含嵌入的空格。如上面的第一个命令所示,如果可执行文件名称或路径是未引用(并且不包含变量引用),& 是可选的 - 请参阅this answer 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-30
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    相关资源
    最近更新 更多