軟件綠化使用bat文件,必然會涉及到獲取各種路徑,例如安裝路徑,系統目錄之類的問題。這些主要通過相對路徑和環境變量。
例如如下的目錄結構
SogouInput\
\6.6.0.9394\
\6.6.0.9394\SogouPy.ime
\6.6.0.9394\SogouTSF.dll
\scd\
1.reg
env.ini
scdlist.ini
安裝.bat
運行 安裝.bat,由於要進行一些敏感操作,所以必須以管理員權限運行,否則不能注冊DLL,寫注冊表,復制文件到系統目錄下,但以管理員權限運行後
當前目錄改變為系統目錄下的System32,也就是cmd命令的路徑,所以需要切換當前路徑。
首先切換到當前目錄也就是ogouInput\下,使用cd /d %~dp0 rem 切換到當前目錄
則SogouPy.ime的目錄就是6.6.0.9394\SogouPy.ime,SogouTSF.dll的目錄就是6.6.0.9394\SogouTSF.dll,其他依次類推
SogouPy.ime 需要復制到系統目錄下,則必須使用環境變量
copy 6.6.0.9394\SogouPy.ime %WINDIR%\System32\SogouPy.ime rem 復制文件到系統System32下
copy env.ini %UserProfile%\AppData\LocalLow\SogouPY\env.ini rem 復制到用戶文件夾下的AppData\LocalLow\下
start %WINDIR%\explorer.exe rem 重啟系統目錄下的explorer.exe 桌面進程
完整的搜狗輸入法bat文件
[plain]
cd /d %~dp0 rem 切換到當前目錄,由於以管理員權限運行,不知道什麼原因,當前目錄改變為系統目錄下的System32下,而不是bat文件所在的目錄
taskkill explorer.exe rem 結束桌面進程