Windows下快捷方式 (*.lnk) 的使用技巧整理


日常應用中,許多軟件都會在安裝過程最后一步添加多個命令,針對其應用創建快捷方式發送到桌面以及快速啟動欄和開始菜單,供人們快速找到並打開。在我的使用習慣中也會將諸多常用的應用右鍵-發送到-桌面快捷方式來實現快速啟動。但是偶然一次的使用中,應用和其對應的快捷方式都移植到了另一台機子上,發現打開快捷方式會有問題。這就引起了我的注意。對地址、路徑敏感一點的同行都能想到肯定是傳統的快捷方式使用了絕對的地址,而想要移植,那么相對路徑是一個好對策。

就像這樣對一個.exe右鍵創建快捷方式:

image

我們右鍵屬性,可以看到用到的是絕對路徑。倘若移植到了不同環境,那么該快捷方式就不能正常運行。如何來修改呢?

正文

如果想要直接在該文件屬性上修改是不好實現的,反正我沒成功。我們嘗試采用正常的流程創建快捷方式--- 右鍵資源管理器中得文件夾區域-新建-快捷方式,會彈出下方對話框:

image

如果選擇“瀏覽”,可以選擇文件或文件夾,但還是絕對地址。在此要手動輸入。

使用Explorer方式

鍵入

%SystemRoot%\explorer.exe

然后后面加上打開的文件或文件名,使用相對路徑,如:

%SystemRoot%\explorer.exe abc

意思是打開該目錄下的名為‘abc’的文件夾。%SystemRoot%是系統環境變量,詳情請見計算機-高級系統設置-環境變量。注意創建完快捷方式要右鍵-屬性把[起始位置]刪除,如下:

image

這樣就可以實現相對路徑下打開文件夾,如果想打開文件,如下鍵入:

%SystemRoot%\explorer.exe .\main\_conf\config.ini
%SystemRoot%\explorer.exe .\HxD.exe

甚至還可以打開根目錄下的上級目錄中的一個文件夾,如:

%SystemRoot%/explorer.exe ..\steam

此命令代表打開當前目錄的上級目錄中名為‘steam’的文件夾。
這樣的調用方式,就不怕移植、換環境了。

使用cmd.exe方式

同樣的道理,創建快捷方式,鍵入:

%windir%\system32\cmd.exe /c

然后后面加標准的dos批處理命令,如運行一個應用[注意這里的 /c一定得加,不然dos界面會跳出等待用戶輸入,這不是我們要的,讓它開一個dos命令后立即關閉dos界面]:

%windir%\system32\cmd.exe /c .\HxD.exe

還是要看一下屬性中的[起始位置],把它清空。當然這里可以使用start啟動應用,如:

%windir%\system32\cmd.exe /c start .\HxD.exe

如果要打開文件夾:

%windir%\system32\cmd.exe /c start .\abc

當然,你還可以以正常的批處理代碼鍵入,如:

%windir%\system32\cmd.exe /c echo hello world>.\hello.txt

還可以多指令執行,如:

%windir%\system32\cmd.exe /c echo hello world>.\hello11.txt & start .\hello11.txt

這樣也可以極大滿足環境變化。

總結

【注意】所有鍵入的斜杠、反斜杠都是敏感的,不能隨意更改,否則無效!!

這兩方式殊途同歸,給不同環境下快捷方式正常運行做好基礎。有了此解決方案后,開發后期也能得到應用,做一些快捷通道,包括執行語句、調用文件等操作、邏輯判斷、文件讀寫、數據通訊等功能,個人認為挺酷的😎 我們下回再見!~ 😘



參考文獻:
[1]      https://www.cnblogs.com/vibratea/archive/2010/09/16/1827761.html DOS中Start命令詳解
[2]      https://www.zhihu.com/question/20061568 Windows 中如何創建一個指向某相對路徑的快捷方式 。。。
[3]      https://blog.csdn.net/ju_pan/article/details/79454394 創建使用相對路徑的快捷方式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM