作者Holocaust123 (奔跑的蝸牛)
看板EzHotKey
標題[問題] 相當於雙擊檔案的batch寫法
時間Sun Jan 9 16:26:42 2011
※ [本文轉錄自 Windows 看板 #1DAN4sdq ]
作者: Holocaust123 (奔跑的蝸牛) 看板: Windows
標題: [問題] 相當於雙擊檔案的batch寫法
時間: Sun Jan 9 16:26:27 2011
(OS是XP)
假設有個檔案叫 123.abc
我想寫個batch
相當於用左鍵點兩下123.abc 然後讓系統用預設程式開啟
(預設程式 = 系統關聯到.abc的程式)
查了很久還是不知道怎麼做
請問有會的人可以教一下嗎 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.32
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.32
1F:→ calora:start 123.abc 01/09 20:44
檔名含空白會有問題
假設檔名叫
test 123.txt
1. start "
test 123.txt"
這樣僅會跳出一個新的 cmd 視窗, 而非開啟
test 123.txt
2. start
test 123.txt
這樣會跳出一個警告視窗:
"Windows 找不到檔案或項目 'test' ... (後略)"
http://www.dumpt.com/img/viewer.php?file=cohj31fn2y6n1nwml8a3.jpg
請問該怎麼開啟檔名含空白的檔案?
2F:→ hpo14:請改用 call 試看看 -> call "test 123.txt" 01/10 19:34
謝謝 改成這樣的確可以解決檔名有空白的問題!
再請教一下 call有辦法像start/b那樣不顯示cmd視窗嗎?(call/?裡面沒寫)
3F:→ hpo14:假若 .abc 關聯程式為 def, 則可以 def "test 123.abc" 試試 01/10 19:44
4F:→ hpo14:但是前提是 def 要可以位在可以被 cmd 自動搜尋的位置 01/10 19:45
5F:→ hpo14:也就是環境變數, 沒有的話可自己新增 01/10 19:46
這個方法不太適用在我的情況, 因為:
1. 手動指定的程式(def)不一定有command line的用法
2. 承上, 就算可以在command line用,
不去翻docs根本就不可能知道parameter要怎麼給@@
(每個parameter代表的意思只有寫該程式的人知道)
而且前提是要有docs
3. 承上, 雙擊該檔案的效果可能是 xxx.exe -p1 a1 -p2 a2 ...
a1 a2 之類的值還有可能早就hard-coded了
不是每個程式都是 xxx.exe argument 這麼簡單
4. 承上, Windows下的副檔名這麼多
不可能手動一個一個寫
光環境變數就設不完了...
(123.abc只是舉例 我希望能套用到所有的副檔名)
※ 編輯: Holocaust123 來自: 140.112.30.32 (01/10 20:48)
--
http://stackoverflow.com/questions/72671/how-to-create-batch-file-in-windows-using-start-with-a-path-and-command-with-sp
縮:
http://tinyurl.com/24qen8k
參考這網站的方法 即可用start開啟檔名有空白的檔案:
start "" "test 123.abc"
※ 編輯: Holocaust123 來自: 140.112.30.32 (01/10 21:09)
6F:推 darkgerm:其實start /?就可以查到了 要加上"title"才不會誤判 01/11 00:52
7F:→ hpo14:阿阿,我笨了 XD 忘記先打個 title 就OK 01/11 21:08
8F:→ calora:start "" "123 abc.abc" 01/12 18:30