有没有一种方法可以将使用 .appref-ms 的 ClickOnce 应用程序添加到系统路径中?

4

我下载了一个名为 MarkdownPad 的 Windows 应用程序(非常好的应用!),我想将其添加到系统路径中,以便可以从命令行打开它,例如:

> markdownpad.exe .\something.md

然而,我找不到这个应用程序安装在哪个磁盘上。当我在开始菜单中查找该应用程序时,我只看到一个 .appref-ms 文件。在记事本中打开它,我只看到一个 URL:http://markdownpad.com/download/MarkdownPad.application#MarkdownPad.application。我不确定这是如何使用的,但它并没有帮助我找出如何从命令行运行这个工具。
有什么方法可以让我能够从命令行执行这个应用程序吗?

1
MarkdownPad 2 最近发布了,不再使用 ClickOnce 部署系统(解决了这些问题)。请参见下面的答案获取更多信息。 - Evan Wondrasek
5个回答

7
如果你将.md文件与MarkdownPad关联,以便可以双击打开它们,那么你可以使用启动实用程序来打开markdown文件。这就是我在我的git存储库中所做的。
start README.md

承认这只适用于使用 .md 后缀名命名 markdown 文件的情况。

也许有更简单的关联方式,但以下是我在 Windows 7 上所做的(以便不必浏览到 Mp 的路径):

  1. 启动 MarkdownPad
  2. 将任意 .md 文件拖到任务栏中 MarkdownPad 图标上(以提示操作系统 Mp 是另一种选择)。
  3. 右键单击同一 MD 文件,选择“打开方式” -> “选择默认程序...”
  4. 选择 MarkdownPad

如果你在 git bash 或 cmd.exe 中,start 实用工具就像送来的礼物。例如,输入 start foo.sln 可以启动 visual studio,输入 start foo.jpg 可以启动你默认的图片查看器等等。


最终我成功将Markdownpad设置为我的默认.md文件程序。 - JasonDavis

3

我被你抢先了 :) 我没有意识到你在使用PowerShell,所以我编写了一个命令文件来完成它。想着我也可以将其发布为另一种选择。最简单的方法是将其保存为markdownpad.cmd并将其放入您的系统文件夹中。

@echo OFF
set app=C:\Users\[UserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MarkdownPad\MarkdownPad.appref-ms

if [%1]==[] (
  "%app%"
  goto exit
) 

if exist "%~dpnx1" (
  "%app%" "%~dpnx1"
  goto exit
)

echo Can't find file, '%1%'

:exit

2

我向编写MarkdownPad的开发人员Evan进行了确认,显然你可以直接调用MarkdownPad.appref-ms文件,但目前它不会解析相对路径。但是,我能够编写一个简单的Powershell脚本来为我解决路径问题。

  1. Add C:\Users\<your username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MarkdownPad\MarkdownPad.appref-ms to your system path.
  2. Use the following Powershell scripts (I recommend adding them to your Powershell profile):

    function Start-MarkdownPad([string] $path){
      $pathResolved = Resolve-Path $path
      MarkdownPad.appref-ms $pathResolved
    }
    Set-Alias mdp Start-MarkdownPad
    
这可以让你像这样从 Powershell 打开文件:
> mdp .\foo.md

1
说得好!我会在未来的版本中添加通过命令行加载相对URI的功能 - 它已经正式添加到问题跟踪器中 :) - Evan Wondrasek

1
我是MarkdownPad的开发者-只是想更新一下这个问题,以反映最近的一些变化。 MarkdownPad 2现已推出,不再使用ClickOnce部署,这是该问题所提出问题的根源。
MarkdownPad的新版本通过传统的Windows安装程序进行部署,因此可以直接访问可执行文件,无需担心部署清单文件。这也允许将文件关联轻松地直接映射到.exe文件。
希望这有所帮助!

0

将 C:\Documents and Settings\...\MarkdownPad\MarkdownPad.appref-ms 复制到 C:\WINDOWS\system32\MarkdownPad.appref-ms,然后您就可以在任何文件夹中打开 markdown 文件:

MarkdownPad.appref-ms d:\download\a.txt

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