有時候windows的批處理能帶來很方便的操作,批處理也有變數宣告,下面一段就是說的如何使用批處理中的變數。
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 顯示的變數列表中
%cd% – 擴充套件到當前目錄字串。
%date% – 用跟 date 命令同樣的格式擴充套件到當前日期。
%time% – 用跟 time 命令同樣的格式擴充套件到當前時間。
%random% – 擴充套件到 0 和 32767 之間的任意十進位制數字。
%errorlevel% – 擴充套件到當前 errorlevel 數值。
%cmdextversion% – 擴充套件到當前命令處理器副檔名版本號。
%cmdcmdline% – 擴充套件到呼叫命令處理器的原始命令列。
%0 bat的完整路徑名如」c:windowssystem32***.bat」
%1 bat引數1依次類推%2引數2…
%path% – 當前的環境變數。以分號隔開的路徑列表,路徑可包含空格,可以以」結尾, 可以以雙引號包圍之。
擴充套件變數
@ 與%i相關的變數(bat引數或者for迴圈的%i)
假設檔案為c:documents and settingsjinsun桌面parsesinglepkgs.bat
%0 c:documents and settingsjinsun桌面parsesinglepkgs.bat
%~dp0 c:documents and settingsjinsun桌面
%cd% c:documents and settingsjinsun桌面
%~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 變數的除前兩個的所有字元
%var:~-2% 會提取var 變數的最後兩個
%var:~2,5% 提取從第2個字元開始的5個字元
這篇文章看完了就懂了「%date:~0,4%%date:~5,2%%date:~8,2%.sql」是什麼意思了。
簡單的批處理命令 set 命令
set 命令 set 設定環境變數 適用場合 設定音效卡和路徑等時用到 用 法 set 環境變數 字串 這條命令常常用在autoexec.bat中 例 子 c set blaster a220 i5 d1 設定音效卡的引數 c set path c dos path c dos含義相同 顯示 設定或...
批處理set使用方法
這個bat檔案是set的所有用法 1 顯示所有系統變數的值 echo off set pause 2直接在批處理中設定變數的 在批處理中我們要引用這個變數就把var變數名用兩個 百分號 擴起來,如 var 注意 左右不能有空格 echo 直接在批處理中設定變數的 注意 左右不能有空格 set var...
批處理命令
time 2019 07 05 author ruo xiao 1 var 告訴編譯器,var 是變數,不是字串。2 var,僅用在 for 迴圈中。栗子 echo off set vars jack lucy nasa for t in vars do echo t pause 執行結果 注意 1...