星期四, 4月 14, 2011

Microsoft Windows XP 變數

有時編寫執行檔時,可能會因為使用者名稱不同而不能執行成功。
假若遇到這個情況,系統變數便可以簡化問題了。
以下是 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 的變數,你可以:

1. 在「我的電腦」的空白位置單擊右鍵,然後點選「內容」

2. 在「系統內容」的「進階」分頁,點選「環境變數」

3. 在下方的「系統變數」,你可以找到 「TMP」 等大部份變數了

===========================
如果希望新增 / 修改 Win 7 的變數,你可以:

1. 在「我的電腦」的空白位置單擊右鍵,然後點選「內容」


2. 點選「進階系統設定」

3. 在「系統內容」的「進階」分頁,點選「環境變數」


4. 在下方的「系統變數」,你可以找到 「TMP」 等大部份變數了


推薦此文