bat的變數與命令set的用法

2021-06-18 08:07:57 字數 2156 閱讀 1544

set 功能一覽

[設定變數]

格式:set 變數名=變數值

詳細:被設定的變數以%變數名%引用

[取消變數]

格式:set 變數名=

詳細:取消後的變數若被引用%變數名%將為空

[展示變數]

格式:set 變數名

詳細:展示以變數名開頭的所有變數的值

[列出所有可用的變數]

格式:set

[計算器]

格式:set  /a 表示式

示例:set /a 1+2*3  輸出 7

[設定變數為表示式計算後的值]

set a=1+2

echo %a% ==>輸出1+2

------------------------------------

set /a a=1+2

echo %a% ==>輸出3

[設定變數為使用者輸入的值]

set /p a=輸入乙個值 ==>輸出 輸入乙個值

echo %a% ==>顯示使用者輸入的值

!注意!

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%- 當前的環境變數。以分號隔開的路徑列表,路徑可包含空格,可以以'\'結尾, 可以以雙引號包圍之。

擴充套件變數

@ 與%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 變數的除前兩個的所有字元

%var:~-2%會提取var 變數的最後兩個

%var:~2,5%提取從第2個字元開始的5個字元

bat的變數與命令set的用法

set 功能一覽 設定變數 格式 set 變數名 變數值 詳細 被設定的變數以 變數名 引用 取消變數 格式 set 變數名 詳細 取消後的變數若被引用 變數名 將為空 展示變數 格式 set 變數名 詳細 展示以變數名開頭的所有變數的值 列出所有可用的變數 格式 set 計算器 格式 set a ...

bat的變數與命令set的用法

set 功能一覽 設定變數 格式 set 變數名 變數值 詳細 被設定的變數以 變數名 引用 取消變數 格式 set 變數名 詳細 取消後的變數若被引用 變數名 將為空 展示變數 格式 set 變數名 詳細 展示以變數名開頭的所有變數的值 列出所有可用的變數 格式 set 計算器 格式 set a ...

bat的變數與命令set的用法

set 功能一覽 設定變數 格式 set 變數名 變數值 詳細 被設定的變數以 變數名 引用 取消變數 格式 set 變數名 詳細 取消後的變數若被引用 變數名 將為空 展示變數 格式 set 變數名 詳細 展示以變數名開頭的所有變數的值 列出所有可用的變數 格式 set 計算器 格式 set a ...