[轉]Windows中的命令列提示符裡的Start命令執行路徑包含空格時的問題

來源:互聯網
上載者:User

標籤:

轉自: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格式,但是這些使用起來都是不方便的。

於是上Google的雅虎百度一下有道……

最終找到原因,原來是雙引號代表設定標題,導致我這出現的問題,解決辦法很簡單,在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 副檔名相關 App程式)。
關於如何從命令指令碼內部建立這些關聯,請參閱 ASSOC 和
FTYPE 命令。

執行的應用程式是 32-位 GUI 應用程式時,CMD.EXE 不等應用
程式終止就返回命令提示字元。如果在命令指令碼內執行,該新行為
則不會發生。

如果執行的命令列的第一個符號是不帶副檔名或路徑修飾符的
字串 "CMD","CMD" 會被 COMSPEC 變數的數值所替換。這
防止從目前的目錄提取 CMD.EXE。

如果執行的命令列的第一個符號沒有副檔名,CMD.EXE 會使用
PATHEXT 環境變數的數值來決定要以什麼順序尋找哪些擴充
名。PATHEXT 變數的預設值是:

.COM;.EXE;.BAT;.CMD

請注意,該文法跟 PATH 變數的一樣,分號隔開不同的元素。

尋找可執行檔時,如果沒有相配的副檔名,看一看該名稱是否
與目錄名相配。如果確實如此,START 會在那個路徑上調用
Explorer。如果從命令列執行,則等同於對那個路徑作 CD /D。

[轉]Windows中的命令列提示符裡的Start命令執行路徑包含空格時的問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.