如何在命令行中使用指定程序打开文件?

18

我希望能够在命令行中打开Photoshop中的PDF。 我当前的问题是默认打开PDF的应用程序是Adobe Acrobat。 我想知道是否有任何参数可以传递来指定打开文件时使用哪个程序。

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

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

有什么想法吗?

4个回答

29
你只需要将文件名作为命令行参数提供即可。
photoshop <path to file>
< p>(如果路径中包含空格),则需要引用<path to file>。

< p>例如:

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在我的路径环境变量中。您是否成功使用此技术在计算机上打开PDF文件?您能想到任何原因导致该命令打开软件但未打开PDF吗? - csterling
@csterling 对于我来说,指定一个有效的文件路径可以正常打开,如果路径无效,Photoshop 将只是打开而不打开该文件 - 因此我建议您再次检查路径是否正确。 - aland

2

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

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

然后您只需输入:

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

1
你可以使用start命令来完成它:

start

start <program-name> <file-path>

在你的情况下,你需要做如下操作:
start photoshop D:\open.pdf

0

很遗憾,当前版本的Photoshop不支持此操作。您可以打开程序:start "path_to_photoshop.exe",但是没有办法传递要打开的文件。如果您真的想这样做,您需要获取类似于这样的东西:https://www.eulanda.eu/en/access-photoshop-api-via-powershell-script。很抱歉,我希望我有一个更好的答案,特别是因为我想能够为我正在工作的程序执行此操作。


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