Windows中的命令行提示符里的Start命令执行路径包含空格时的问题
轉自:http://www.x2009.net/articles/windows-command-line-prompt-start-path-space.html
當使用Windows 中的命令行提示符執行這段指令時(測試Start命令執行帶空格的路徑的程序或文件問題),第一行Start會成功執行,跳出記事本程序,而第二行,會 Start跳出一個新的命令提示符,標題上寫著路徑,但是不會執行任何命令,第三行Start命令行提示符會提示C:\Program文件不存在,提示無 法執行。
start c:\windows\notepad.exe start "C:\Program Files\Internet Explorer\iexplore.exe" start C:\Program Files\Internet
Explorer\iexplore.exe puase
通常在命令行提示符里遇到程序或者文件路徑包含空格時,需要使用雙引號將其括起來,或者使用8.3格式,但是這些使用起來都是不方便的。
于是上谷歌的雅虎百度一下有道……
最終找到原因,原來是雙引號代表設置標題,導致我這出現的問題,解決辦法很簡單,在Start后增加2個雙引號即可
start ""?"C:\Program Files\Internet Explorer\iexplore.exe"
通過這個簡單的方式,就可以解決Start無法執行路徑包含空格的問題了。最后附上這個命令自帶的幫助
Microsoft Windows [版本 6.0.6002]
版權所有 (C) 2006 Microsoft Corporation。保留所有權利。
C:\Users\Administrator>start /?
啟動另一個窗口運行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/AFFINITY ] [/WAIT] [/B] [command/program]
[parameters]
"title"?????在窗口標題欄中顯示的標題。
path????????啟動目錄
B???????????啟動應用程序,但不創建新窗口。應用程序已
忽略 ^C 處理。除非應用程序啟用 ^C 處理,否則 ^Break 是唯一可以中
斷
該應用程序的方式
I???????????新的環境將成為傳遞給 cmd.exe 的原始環境,
而不是當前環境。
MIN?????????以最小化方式啟動窗口
MAX?????????以最大化方式啟動窗口
SEPARATE????在單獨的內存空間中啟動 16 位 Windows 程序
SHARED??????在共享內存空間中啟動 16 位 Windows 程序
LOW?????????在 IDLE 優先級類中啟動應用程序
NORMAL??????在 NORMAL 優先級類中啟動應用程序
HIGH????????在 HIGH 優先級類中啟動應用程序
REALTIME????在 REALTIME 優先級類中啟動應用程序
ABOVENORMAL 在 ABOVENORMAL 優先級類中啟動應用程序
BELOWNORMAL 在 BELOWNORMAL 優先級類中啟動應用程序
AFFINITY????新應用程序將具有指定的處理器關聯掩碼,用一
個十六進制數字表示。
WAIT????????啟動應用程序并等待它終止
command/program
如果它是內部 cmd 命令或批文件,那么該命令處
理器是使用 cmd.exe 的 /K 開關運行的。
這意味著運行該命令之后,該窗口將
仍然存在。
如果它不是內部 cmd 命令或批文件,那么
它就是一
個程序,并將作為一個窗口化應用程序或控制臺應
用程序運行。
parameters??這些是傳遞給 command/program 的參數
注意: 在 64 位平臺上不支持 SEPERATE 和 SHARED 選項。
如果命令擴展被啟用,通過命令行或 START 命令的外部命令
調用會如下改變:
將文件名作為命令鍵入,非可執行文件可以通過文件關聯調用。
(例如,WORD.DOC 會調用跟 .DOC 文件擴展名關聯的應用程序)。
關于如何從命令腳本內部創建這些關聯,請參閱 ASSOC 和
FTYPE 命令。
執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用
程序終止就返回命令提示符。如果在命令腳本內執行,該新行為
則不會發生。
如果執行的命令行的第一個符號是不帶擴展名或路徑修飾符的
字符串 "CMD","CMD" 會被 COMSPEC 變量的數值所替換。這
防止從當前目錄提取 CMD.EXE。
如果執行的命令行的第一個符號沒有擴展名,CMD.EXE 會使用
PATHEXT 環境變量的數值來決定要以什么順序尋找哪些擴展
名。PATHEXT 變量的默認值是:
.COM;.EXE;.BAT;.CMD
請注意,該語法跟 PATH 變量的一樣,分號隔開不同的元素。
查找可執行文件時,如果沒有相配的擴展名,看一看該名稱是否
與目錄名相配。如果確實如此,START 會在那個路徑上調用
Explorer。如果從命令行執行,則等同于對那個路徑作 CD /D
原文地址:http://blog.sina.com.cn/s/blog_8154bb460101f3x5.html
總結
以上是生活随笔為你收集整理的Windows中的命令行提示符里的Start命令执行路径包含空格时的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel 中如何找出两列数据中不重复的
- 下一篇: java制作程序启动进度窗口