電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
在WinXP中以bat檔執行兩個以上的exe檔

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 程式概論
上一篇主題 :: 下一篇主題  
發表人 內容
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2007-5-12, AM 10:54 星期六    文章主題: 在WinXP中以bat檔執行兩個以上的exe檔 引言回覆

昨天有個朋友遇到了一個小問題
他有在玩寒冰霸權
而他每次玩寒冰之前,都會先開啟一個叫WC3Banlist.exe的程式,這個程式可以讓他在遊戲中自動踢除黑名單上的人
不過這不是重點
重點是,他嫌每次進入遊戲前都要手動去點兩個exe檔很麻煩
所以想做一個Bat檔,來執行這兩個exe檔,這樣他以後就只需要點一次bat檔就可以了

問題就出在這裡,他沒辦法直接執行兩個exe檔,在WinXP底下,bat中直接打上這兩個exe檔,會先執行第一個,然後bat停住,等到第一個exe檔被關掉後,才會執行第二個,錯誤範例如下:
代碼:
"E:\Program Files\WC3Banlist\WC3Banlist.exe"
"E:\Game\Warcraft III\Frozen Throne.exe"

這時候,bat指令:start,就派得上用場了,可是如果在start之後加上有雙引號的字串,start會將此字串當成title,然後開啟一個無用的cmd視窗,錯誤範例如下:
代碼:
start "E:\Program Files\WC3Banlist\WC3Banlist.exe"
start "E:\Game\Warcraft III\Frozen Throne.exe"

而如果把雙引號去掉,在某些情況下會可以正常執行,某些情況下不行。什麼情況下不行呢?當你exe檔所在位置的資料夾名稱中有空白字元時不行,像是Program Files,中間一但有個空白,對start指令來說就會認為是兩段分別開來的參數,因此就會出現錯誤,錯誤範例如下:
代碼:
start E:\Program Files\WC3Banlist\WC3Banlist.exe
start E:\Game\Warcraft III\Frozen Throne.exe

這時應該要做的是,將每個包含有空白的路徑變成縮寫,Windows的路徑縮寫規則如下:
一、當前6個字元中並無空白時,取前6個字元,並於其後加上~1,湊成8個字元,如:
"Program Files" → Progra~1
"Frozen Throne" → Frozen~1
二、當總長度去掉空白字元有6個字元以上,而前6個字元中有空白時,省略空白,以後面的字元替補,總共取6個字元,並於其後加上~1,湊成8個字元,如:
"MSN Gaming Zone" → MSNGam~1
"My Documents" → MyDocu~1
三、當總長度去掉空白字元不足6個字元,而且其中含有空白字元時,省略空白,以後面的字元替補,剩下多少字元就取多少字元,並於其後加上~1,如:
"a b c" → abc~1
"my app" → myapp~1
"p h p BB" → phpBB~1

依據以上規則,想在執行寒冰前先執行自動踢除程式的正確範例如下:
代碼:
start E:\Progra~1\WC3Banlist\WC3Banlist.exe
start E:\Game\Warcra~1\Frozen~1.exe

要注意的是,雖然WC3Banlist超過了8個字元,不過其中沒有空白,所以是不需要改成縮寫的唷。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 程式概論 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作