【问题标题】:How to open a file from the command line with a specified program?如何使用指定程序从命令行打开文件?
【发布时间】:2013-04-27 00:27:04
【问题描述】:

我想从命令行在 Photoshop 中打开 PDF。我目前的问题是打开 PDF 的默认应用程序是 Adob​​e Acrobat。我想知道是否可以传递任何参数来指定打开文件时要使用的程序。

换句话说,当您右键单击文件以使用非默认应用程序打开文件时,我想模拟“打开方式”选项,但从命令行。

我不想将 PDF 的默认应用程序更改为 Photoshop。

有什么想法吗?

【问题讨论】:

    标签: windows windows-7 windows-7-x64


    【解决方案1】:

    您只需提供文件名作为命令行参数:

    photoshop <path to file>
    

    (如果包含空格,需要加引号)

    例如:

    photoshop "C:\Users\csterling\Documents\some document.pdf"
    

    如果包含 photoshop.exe 的目录不在您的 Path 环境变量中,您需要提供完整路径:

    "C:\Program Files\Adobe\Photoshop\photoshop" "C:\Users\csterling\Documents\some document.pdf"
    

    这不是命令提示符的一个功能,它是可执行文件的一个功能,即 photoshop.exe 必须被编程以接受一个文件作为命令行参数打开。幸运的是,大多数对文件进行操作的 Windows 应用程序也是如此。

    【讨论】:

    • 感谢您的回复。所以这是个好主意,但是当我输入 >photoshop "path\to\file.pdf" 时,它会打开 Photoshop,但不会打开 pdf。 Photoshop.exe 在我的路径环境变量中。您是否已成功使用此技术在计算机上的 Photoshop 中打开 PDF?你能想到为什么该命令会打开软件而不是 PDF 的任何原因吗?
    • @csterling 指定文件的有效路径对我来说打开正常,如果路径无效,photoshop 将直接打开而不打开文件 - 所以我会仔细检查路径是否正确
    【解决方案2】:

    如果您希望它在 PowerShell 中使用相对路径,请使用以下脚本:

    function photo
    {
       $the_filename=resolve-path $args[0]
       photoshop $the_filename
    }
    

    然后你可以输入:

    cd C:\Users\csterling\Documents
    photo mypic.jpg
    

    【讨论】:

      【解决方案3】:

      您可以使用启动命令来完成:

      start <program-name> <file-path>
      

      在你的情况下,你必须这样做:

      start photoshop D:\open.pdf
      

      【讨论】:

        【解决方案4】:

        很遗憾,当前版本的 Photoshop 不支持此操作。你可以打开程序:start "path_to_photoshop.exe",但是没有办法传给它一个文件打开。如果你真的想这样做,你需要得到这样的东西:https://www.eulanda.eu/en/access-photoshop-api-via-powershell-script。抱歉,我希望我有一个更好的答案,尤其是因为我希望能够为我正在处理的程序做到这一点。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-05
          • 1970-01-01
          • 2012-08-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多