set 功能一覽
[設置變量]
格式:set 變量名=變量值
詳細:被設定的變量以%變量名%引用
[取消變量]
格式:set 變量名=
詳細:取消后的變量若被引用%變量名%將為空
[展示變量]
格式:set 變量名
詳細:展示以變量名開頭的所有變量的值
[列出所有可用的變量]
格式:set
[計算器]
格式:set /a 表達式
示例:set /a 1+2*3 輸出 7
!注意!
set不能用在復合語句里面比如if 1==1 set a=2或者for %%i in (a) do set a=2
預定義的變量
下面是些已經被底層定義好可以直接使用的變量:不會出現在 SET 顯示的變量列表中
%CD% - 擴展到當前目錄字符串。
%DATE% - 用跟 DATE 命令同樣的格式擴展到當前日期。
%TIME% - 用跟 TIME 命令同樣的格式擴展到當前時間。
%RANDOM% - 擴展到 0 和 32767 之間的任意十進制數字。
%ERRORLEVEL% - 擴展到當前 ERRORLEVEL 數值。
%CMDEXTVERSION% - 擴展到當前命令處理器擴展名版本號。
%CMDCMDLINE% - 擴展到調用命令處理器的原始命令行。
%0 bat的完整路徑名如"C:\Windows\system32\xxx.bat"
%1 bat參數1依次類推%2參數2...
%path% - 當前的環境變量。以分號隔開的路徑列表,路徑可包含空格,可以以'\'結尾, 可以以雙引號包圍之。
%USERNAME% - 當前用戶名
%USERPROFILE% - 當前用戶主目錄
獲取當前腳本所在路徑:echo %~dp0(需要寫在腳本中,運行腳本時顯示)
擴展變量
@ 與%i相關的變量(bat參數或者for循環的%i)
假設文件為C:\Documents and Settings\jinsun\桌面\ParseSinglePkgs.bat
%0 C:\Documents and Settings\jinsun\桌面\ParseSinglePkgs.bat
%~dp0 C:\Documents and Settings\jinsun\桌面\
%cd% C:\Documents and Settings\jinsun\桌面
%~nx0 ParseSinglePkgs.bat
%~n0 ParseSinglePkgs
%~x0 .bat
@ 與%VAR%相關的變量
%VAR:str1=str2% 會將VAR中的str1替換為str2(str2如果為空則可以達到刪除的效果,str1前可以加*,變量%ABC:*B=%是C)
%VAR:~0,-2% 會提取VAR 變量的所有字符,除了最后兩個
%VAR:~-2% 會提取VAR 變量的最后兩個
%
PowerShell環境變量:http://www.cnblogs.com/dreamer-fish/p/3892277.html