有時編寫執行檔時,可能會因為使用者名稱不同而不能執行成功。
假若遇到這個情況,系統變數便可以簡化問題了。
以下是 Ms Windows XP 及 Windows 7 的例子:
變數 | Win XP 例子 | Win 7例子 |
%LOGONSERVER% | \\127.0.0.1 | \\127.0.0.1 |
%HOMEDRIVE% | C:\ | C:\ |
%SystemDrive% | C:\ | C:\ |
%AllUsersProfile% | C:\Documents and Settings\All Users | C:\ProgramData |
%HOMEPATH% | C:\Documents and Settings\wfh | C:\Users\wfh |
%USERPROFILE% | C:\Documents and Settings\wfh | C:\Users\wfh |
%APPDATA% | C:\Documents and Settings\wfh\Application Data | C:\Users\wfh\AppData\Roaming |
%Temp% | C:\Documents and Settings\wfh\Local Settings\Temp | C:\Users\Ben\AppData\Local\Temp |
%Tmp% | C:\Documents and Settings\wfh\Local Settings\Temp | C:\Users\Ben\AppData\Local\Temp |
%USERPROFILE%\My Documents\ | C:\Documents and Settings\wfh\My Documents\ | |
%ProgramFiles% | C:\Program Files | C:\Program Files |
%commonprogramfiles% | C:\Program Files\Common Files | C:\Program Files\Common Files |
%SystemRoot% | C:\WINDOWS | C:\Windows |
%windir% | C:\WINDOWS | C:\Windows |
%ComSpec% | C:\WINDOWS\system32\cmd.exe | C:\WINDOWS\system32\cmd.exe |
%PSModulePath% | C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules | C:\Windows\system32\WindowsPowerShell\v1.0\Modules |
===========================
batch file 應用例子:
@echo off
:: 設定變數 drive 為 G:\Backup
set drive=G:\Backup
:: 設定變數 backupcmd 為 xcopy /s /c /d /e /h /i /r /y
set backupcmd=xcopy /s /c /d /e /h /i /r /y
echo 備份我的文件至 G:\Backup\My Documents ...
%backupcmd% "%USERPROFILE%\My Documents" "%drive%\My Documents"
echo 備份我的最愛至 G:\Backup\Favorites...
%backupcmd% "%USERPROFILE%\Favorites" "%drive%\Favorites"
echo 備份 Outlook Express...
%backupcmd% "%USERPROFILE%\Application Data\Microsoft\Address Book" "%drive%\Address Book"
%backupcmd% "%USERPROFILE%\Local Settings\Application Data\Identities" "%drive%\Outlook Express"
echo 備份 Ms Outlook...
%backupcmd% "%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook" "%drive%\Outlook"
echo 備份登錄檔...
if not exist "%drive%\Registry" mkdir "%drive%\Registry"
if exist "%drive%\Registry\regbackup.reg" del "%drive%\Registry\regbackup.reg"
regedit /e "%drive%\Registry\regbackup.reg"
:: use below syntax to backup other directories...
:: %backupcmd% "...source directory..." "%drive%\...destination dir..."
echo 備份完成
pause
試想像,假若目標使用者的視窗安裝在 D:\ ,而且你不知道對方的使用者名稱,在不使用變數的情況下便十分麻煩了。
===========================
如果希望新增 / 修改 Win xp 的變數,你可以:
2. 在「系統內容」的「進階」分頁,點選「環境變數」
3. 在下方的「系統變數」,你可以找到 「TMP」 等大部份變數了
===========================
如果希望新增 / 修改 Win 7 的變數,你可以:
1. 在「我的電腦」的空白位置單擊右鍵,然後點選「內容」
2. 點選「進階系統設定」
3. 在「系統內容」的「進階」分頁,點選「環境變數」
4. 在下方的「系統變數」,你可以找到 「TMP」 等大部份變數了