`/n "%1" /o "%u"` 是什么意思?

`/n "%1" /o "%u"` 是什么意思?

ftype在中运行了该命令CMD,并得到了以下输出:

"C:\Program Files (x86)\Microsoft Office\Office15\WINWORD.EXE" /n "%1" /o "%u"

%1之前曾见过作为文件名的占位符,但我从未在命令/n "%1" /o "%u"的输出中见过ftype,并且不确定它的含义。

答案1

在不完全确定您所运行的完整命令的情况下给出初步答案:

打开程序时提供给 CMD 的命令行参数最多只能算是难以捉摸。它们实际上不是ftype您运行的命令的参数,而是 Windows 用于从 Windows 注册表等位置运行命令和程序的不同高级命令的参数的混合。您之所以看到它们,是因为ftype您运行的命令返回了完整路径名,而打开程序时调用的参数恰好包含在该路径名的末尾。

一些这些论点都被记录下来,作为cmd命令start命令(请参阅文件关联部分以获取 RVD 链接)。

其他的也有记录,但是更难实现。链接的答案是我在所有 StackExchange 站点中能够找到的唯一一份用于打开程序的命令行参数列表,其中的信息来自 Microsoft Developer Network 站点上一个晦涩难懂的来源(现已删除)的评论(!)。

还有一些不是 Windows 原生参数,而是由运行它们的程序创建和定义的。例如,根据在 Microsoft Word 上,Word 有自己的命令行参数,其中一个参数首先出现在上面的列表中。根据该链接,/nWord 使用该参数来启动新实例:

/n

启动一个没有打开任何文档的新 Word 实例。在每个 Word 实例中打开的文档不会作为选项出现在窗户其他实例的菜单。

您正确地猜到该%1参数是指传递给程序的文件名,但剩下的一切很可能是一个全局命令行参数,Windows(愚蠢地)决定应该保持未记录的状态。

找出这些是什么可能只有您才能做到,并且需要使用来echo确定这些参数的内容。


参考

CMD.exe-Windows CMD-SS64.com

Rob van der Woude - 批处理文件 - START 命令

为上下文菜单编写 shell 命令时可以使用哪些特殊变量

如何使用启动命令行开关启动 Word 2010、Word 2007、Word 2003、Word 2002 和 Word 2000

相关内容