批處理 set命令

2021-06-04 19:38:48 字數 1813 閱讀 5530

有時候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...