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%- 擴充套件到呼叫命令處理器的原始命令列。
%0bat的完整路徑名如"c:\windows\system32\***.bat"
%1bat引數1依次類推%2引數2...
%path%- 當前的環境變數。以分號隔開的路徑列表,路徑可包含空格,可以以'\'結尾, 可以以雙引號包圍之。
%username%- 當前使用者名稱
%userprofile%- 當前使用者主目錄
獲取當前指令碼所在路徑:echo%~dp0(需要寫在指令碼中,執行指令碼時顯示)
擴充套件變數
@ 與%i相關的變數(bat引數或者for迴圈的%i)
假設檔案為c:\documents and settings\jinsun\桌面\parsesinglepkgs.bat
%0c:\documents and settings\jinsun\桌面\parsesinglepkgs.bat
%~dp0c:\documents and settings\jinsun\桌面\
%cd%c:\documents and settings\jinsun\桌面
%~nx0parsesinglepkgs.bat
%~n0parsesinglepkgs
%~x0.bat
@ 與%var%相關的變數
%var:str1=str2%會將var中的str1替換為str2(str2如果為空則可以達到刪除的效果,str1前可以加*,變數%abc:*b=%是c)
%var:~0,-2%會提取var 變數的所有字元,除了最後兩個
%var:~-2%會提取var 變數的最後兩個
%
powershell環境變數:
批處理中處理變數延遲
rem 比較兩種異同 體會變數延遲 echo off set a 4 set a 5 echo a pause setlocal enabledelayedexpansion set c 4 set c 5 echo c pause批處理執行機制 批處理讀取命令按行讀取,在處理之前要完成必要的預處理...
bat 批處理變數
echo off setlocal enabledelayedexpansion d rem 更改d bat為當前目錄 cd d bat rem 變數使用 set a a 1 2 echo a echo cd echo date set p var 請輸入變數的值 echo var rem find...
批處理中的
如果是 a 這種形式 就是變數的引用,echo off set a 123 rem定義乙個變數a 賦值為123 echo a rem顯示出變數a的值 如果不加 系統會把a當字元處理了,不會當成變數的 i 這種變數是for 語句裡面 特有的變數 還有一種是外部變數,接受外部引數的格式是 1 9 共9個...