Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

打造綠色軟體必備:批次檔路徑處理與環境變數實戰技巧

編輯:系統常見問題解答

撰寫綠色軟體安裝腳本 (.bat) 時,常面臨「以系統管理員執行後工作目錄變成 System32」與「需跨目錄複製檔案」兩大挑戰。善用 %~dp0 與環境變數即可優雅解決。

核心問題:管理員提權後工作目錄錯位

右鍵「以系統管理員身分執行」批次檔時,預設工作目錄會變為 C:\Windows\System32,導致相對路徑失效。

解法:cd /d %~dp0 強制切回腳本所在目錄

@echo off
cd /d %~dp0
rem 此處 %~dp0 會展開為批次檔所在完整路徑 (含結尾反斜線)
rem 後續所有相對路徑皆以此為基準

實戰範例:搜狗輸入法綠色安裝腳本

@echo off
cd /d %~dp0

rem 結束 explorer 以釋放檔案鎖定
taskkill /f /im explorer.exe

rem 複製 IME 檔案至系統目錄 (需管理員權限)
copy 6.6.0.9394\SogouPy.ime   %WINDIR%\System32\SogouPy.ime
copy 6.6.0.9394\SogouTSF.dll  %WINDIR%\System32\SogouTSF.dll

rem 複製使用者設定檔至 AppData
copy env.ini   %UserProfile%\AppData\LocalLow\SogouPY\env.ini

rem 重新啟動 explorer
start %WINDIR%\explorer.exe

常用環境變數速查

變數典型路徑範例用途
%WINDIR%C:\Windows系統目錄根路徑
%SystemRoot%C:\Windows同 WINDIR
%ProgramFiles%C:\Program Files64-bit 程式安裝目錄
%ProgramFiles(x86)%C:\Program Files (x86)32-bit 程式安裝目錄
%UserProfile%C:\Users\Username當前使用者設定檔根目錄
%AppData%C:\Users\Username\AppData\Roaming漫遊資料
%LocalAppData%C:\Users\Username\AppData\Local本機資料
%TEMP%C:\Users\Username\AppData\Local\Temp暫存檔目錄

進階技巧

  • %~dp0 取得批次檔目錄 (含尾隨 \)
  • %~f0 取得批次檔完整路徑
  • %~n0 取得批次檔檔名 (不含副檔名)
  • 需支援含空格路徑時,引用變數務必加雙引號:"%~dp0"
Copyright © Windows教程網 All Rights Reserved