0

我知道我知道。疯狂的谎言就是这样。

标题指的是这个伟大的答案。我只想一劳永逸地解决是否真的可以做这样的事情:

cmd /C start c:\program files            (says "Windows cannot find c:\program)
cmd /C "start c:\program files"          (ditto)
cmd /C start "c:\program files"          (opens another command window)
cmd /C start \"c:\program files\"        (says "Windows cannot find \"c:\program files\")
cmd /C "start \"c:\program files\""      (ditto)
cmd /C "start ^"c:\program files^""      (opens another command window)
rem Ad nauseam.

我想要做的就是启动一个名称中可能包含空格的文件夹或 url。这是“高级”吗?

我已经看到了这个问题,但\"在上面没有工作。

我从 VFP 中的 WScript.Shell 对象调用它,所以我必须将整个命令作为单个字符串传递。但我想解决更一般的问题以供参考。

4

1 回答 1

1

您的问题不在于 cmd 以及它如何处理引号字符。它与开始以及它如何处理引号字符有关。如果要启动的第一个参数是带引号的字符串,则它是命令窗口的标题,而不是要执行的命令。

用法看起来像这样

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
  [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
  [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
  [command/program] [parameters]

"title"     Title to display in window title bar.

你来做这件事

cmd /c start "" "C:\Program Files"
于 2012-06-29T16:42:18.840 回答