我知道,我知道。这就是疯狂。
标题是指great answer。我想一劳永逸地解决它是否真的可以这样做:
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.
我想要做的就是启动名称中可能包含空格的文件夹或网址。这是“先进的”吗?
我看过this question,但\"
在上面没有用。
我从VFP中的WScript.Shell对象调用它,所以我必须将整个命令作为单个字符串传递。但我想解决更普遍的问题以供参考。
答案 0 :(得分: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"