【問題】如何設定一個可變路徑的捷徑?





頁 : [1] 2

f1driver
2007-04-16, 07:41 AM
如何設定一個可變路徑的捷徑?
我這個捷徑是隨著隨身碟一起跑的(捷徑放在隨身碟裡面)
因為要執行這個隨身碟內的exe檔(因為執行時要加一些參數,所以只能用捷徑)
但我用"%CD%\abc.exe"始終不讓我按下確定或套用,
一直出現找不到"%CD%\abc.exe"此檔,
Windows的捷徑可以如此設定動態的路徑嗎?
比如:在這台執行此隨身碟是"E:\",但在另外一台執行是"F:\"




DDSC
2007-04-16, 10:28 AM
你沒預設環境變數項吧,例 SET CD=?:\.......
,不過 CD是DOS保留字,不能用吧。
另,這設法只是固定路徑,你先要取得隨身碟目前所在機號,才可設定變數,這就沒研究了... :Q

f1driver
2007-04-16, 01:15 PM
你沒預設環境變數項吧,例 SET CD=?:\.......
,不過 CD是DOS保留字,不能用吧。
另,這設法只是固定路徑,你先要取得隨身碟目前所在機號,才可設定變數,這就沒研究了... :Q


感謝前輩回覆
因為無法得知現在要執行的是哪個磁碟機代號,所以無法預先設定其環境變數,
我在DOS提示下輸入 "F:\>echo %cd%" 它出現 "F:\" 顯示目前工作磁碟和目錄,
而且又看到有些捷徑是這樣用"%SystemRoot%\system32\abc.exe"
所以我才想到用這方法,結果是不行的

Squ
2007-04-16, 01:45 PM
如何設定一個可變路徑的捷徑?
我這個捷徑是隨著隨身碟一起跑的(捷徑放在隨身碟裡面)
因為要執行這個隨身碟內的exe檔(因為執行時要加一些參數,所以只能用捷徑)
但我用"%CD%\abc.exe"始終不讓我按下確定或套用,
一直出現找不到"%CD%\abc.exe"此檔,
Windows的捷徑可以如此設定動態的路徑嗎?
比如:在這台執行此隨身碟是"E:\",但在另外一台執行是"F:\"

方法一:建立多個捷徑以便不同路徑使用

方法二:以批次檔啟動該程式與相關參數
例:
在隨身碟中建立 run.bat,並在該檔案中輸入執行的程式與相關參數
像是 abc.exe /p1:value1 /p2:value2
或是 abc\def.exe /p1:value1 /p2:value2
不指定應用程式完整路徑,以相對路徑取代

琥珀
2007-04-16, 02:04 PM
用 bat/cmd 不行?捷徑也只是一個 lnk 檔案,非純文字內容。

f1driver
2007-04-16, 05:04 PM
方法一:建立多個捷徑以便不同路徑使用

方法二:以批次檔啟動該程式與相關參數
例:
在隨身碟中建立 run.bat,並在該檔案中輸入執行的程式與相關參數
像是 abc.exe /p1:value1 /p2:value2
或是 abc\def.exe /p1:value1 /p2:value2
不指定應用程式完整路徑,以相對路徑取代

謝謝前輩的指導,我怎麼沒想到要用批次檔?
小弟試過用批次檔可以耶!但那個cmd.exe視窗執行完不會自動關掉
按那個bat檔的[內容]沒有地方可以設定執行完自動關掉的功能

琥珀
2007-04-16, 05:35 PM
用 start 指令。不用加 /wait。

threesecond
2007-04-16, 06:05 PM
假設你的程式放在隨身碟的根目錄下,abc.exe,
在你的電腦桌面上面放一個批次檔,內容如下:
CLS
@ECHO OFF
COLOR 70
MODE CON COLS=65 LINES=20
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%i:abc.exe set USB=%%i
start /wait %USB%:\abc.exe /anything
exit

然後直接執行這個批次檔就可以了,這個批次檔可以複製到任何電腦,
當你插上隨身碟後,批次檔會自動偵測隨身碟所在的磁碟代號。
abc.exe 請自行改成你要的執行檔,/anything 請改成你要的參數,
執行完畢後會自動關閉 cmd 視窗,
完畢。

f1driver
2007-04-17, 03:13 PM
假設你的程式放在隨身碟的根目錄下,abc.exe,
在你的電腦桌面上面放一個批次檔,內容如下:
CLS
@ECHO OFF
COLOR 70
MODE CON COLS=65 LINES=20
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%i:abc.exe set USB=%%i
start /wait %USB%:\abc.exe /anything
exit

然後直接執行這個批次檔就可以了,這個批次檔可以複製到任何電腦,
當你插上隨身碟後,批次檔會自動偵測隨身碟所在的磁碟代號。
abc.exe 請自行改成你要的執行檔,/anything 請改成你要的參數,
執行完畢後會自動關閉 cmd 視窗,
完畢。

哇~!批次檔還可以這樣用呀!小弟真是學淺
謝謝前輩熱心指導!
不過它會出現這訊息耶!按兩次取消後才開始執行程式,而程式是有正確按照參數執行.
http://f1driver.myweb.hinet.net/batmeg.jpg

threesecond
2007-04-18, 12:25 PM
你該不會有安裝 n 合一讀卡機或者是任何其他的儲存裝置吧?