溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DOS批處理中變量的示例分析

發(fā)布時間:2021-09-16 15:57:51 來源:億速云 閱讀:143 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了DOS批處理中變量的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、系統(tǒng)變量

他們的值由系統(tǒng)將其根據(jù)事先定義的條件自動賦值,也就是這些變量系統(tǒng)已經(jīng)給他們定義了值,
不需要我們來給他賦值,我們只需要調(diào)用而以!  我把他們?nèi)苛谐鰜?

%ALLUSERSPROFILE% 本地 返回“所有用戶”配置文件的位置。
%APPDATA% 本地 返回默認(rèn)情況下應(yīng)用程序存儲數(shù)據(jù)的位置。
%CD% 本地 返回當(dāng)前目錄字符串。
%CMDCMDLINE% 本地 返回用來啟動當(dāng)前的 Cmd.exe 的準(zhǔn)確命令行。
%CMDEXTVERSION% 系統(tǒng) 返回當(dāng)前的“命令處理程序擴(kuò)展”的版本號。
%COMPUTERNAME%  系統(tǒng) 返回計(jì)算機(jī)的名稱。
%COMSPEC%  系統(tǒng) 返回命令行解釋器可執(zhí)行程序的準(zhǔn)確路徑。
%DATE%  系統(tǒng) 返回當(dāng)前日期。使用與 date /t 命令相同的格式。由 Cmd.exe 生成。有關(guān)date 命令的詳細(xì)信息,請參閱 Date。
%ERRORLEVEL%  系統(tǒng) 返回上一條命令的錯誤代碼。通常用非零值表示錯誤。
%HOMEDRIVE%  系統(tǒng) 返回連接到用戶主目錄的本地工作站驅(qū)動器號。基于主目錄值而設(shè)置。用戶主目錄是在“本地用戶和組”中指定的。
%HOMEPATH%  系統(tǒng) 返回用戶主目錄的完整路徑。基于主目錄值而設(shè)置。用戶主目錄是在“本地用戶和組”中指定的。
%HOMESHARE%  系統(tǒng) 返回用戶的共享主目錄的網(wǎng)絡(luò)路徑?;谥髂夸浿刀O(shè)置。用戶主目錄是在“本地用戶和組”中指定的。
%LOGONSERVER%  本地 返回驗(yàn)證當(dāng)前登錄會話的域控制器的名稱。
%NUMBER_OF_PROCESSORS%  系統(tǒng) 指定安裝在計(jì)算機(jī)上的處理器的數(shù)目。
%OS%  系統(tǒng) 返回操作系統(tǒng)名稱。Windows 2000 顯示其操作系統(tǒng)為 Windows_NT。
%PATH% 系統(tǒng) 指定可執(zhí)行文件的搜索路徑。
%PATHEXT% 系統(tǒng) 返回操作系統(tǒng)認(rèn)為可執(zhí)行的文件擴(kuò)展名的列表。
%PROCESSOR_ARCHITECTURE%  系統(tǒng) 返回處理器的芯片體系結(jié)構(gòu)。值:x86 或 IA64 基于Itanium
%PROCESSOR_IDENTFIER% 系統(tǒng) 返回處理器說明。
%PROCESSOR_LEVEL%  系統(tǒng) 返回計(jì)算機(jī)上安裝的處理器的型號。
%PROCESSOR_REVISION% 系統(tǒng) 返回處理器的版本號。
%PROMPT% 本地 返回當(dāng)前解釋程序的命令提示符設(shè)置。由 Cmd.exe 生成。
%RANDOM% 系統(tǒng) 返回 0 到 32767 之間的任意十進(jìn)制數(shù)字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系統(tǒng) 返回包含 Windows server operating system 根目錄(即系統(tǒng)根目錄)的驅(qū)動器。
%SYSTEMROOT%  系統(tǒng) 返回 Windows server operating system 根目錄的位置。
%TEMP% 和 %TMP% 系統(tǒng)和用戶 返回對當(dāng)前登錄用戶可用的應(yīng)用程序所使用的默認(rèn)臨時目錄。有些應(yīng)用程序需要 TEMP,而其他應(yīng)用程序則需要 TMP。
%TIME% 系統(tǒng) 返回當(dāng)前時間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關(guān)time 命令的詳細(xì)信息,請參閱 Time。
%USERDOMAIN% 本地 返回包含用戶帳戶的域的名稱。
%USERNAME% 本地 返回當(dāng)前登錄的用戶的名稱。
%USERPROFILE% 本地 返回當(dāng)前用戶的配置文件的位置。
%WINDIR% 系統(tǒng) 返回操作系統(tǒng)目錄的位置。

這么多系統(tǒng)變量,我們?nèi)绾沃浪闹凳鞘裁茨?
在CMD里輸入  echo %WINDIR%

這樣就能顯示一個變量的值了!

DOS批處理中變量的示例分析

舉個實(shí)際例子,比如我們要復(fù)制文件到當(dāng)前帳號的啟動目錄里就可以這樣

copy d:\1.bat "%USERPROFILE%\「開始」菜單\程序\啟動\"
%USERNAME% 本地 返回當(dāng)前登錄的用戶的名稱。  注意有空格的目錄要用引號引起來

另外還有一些系統(tǒng)變量,他們是代表一個意思,或者一個操作!

他們分別是%0 %1 %2 %3 %4 %5 ......一直到%9 還有一個%*

%0 這個有點(diǎn)特殊,有幾層意思,先講%1-%9的意思.
%1 返回批處理的第一個參數(shù)
%2 返回批處理的第二個參數(shù)
%3-%9依此推類

反回批處理參數(shù)?到底怎么個返回法?

我們看這個例子,把下面的代碼保存為test.BAT然后放到C盤下

@echo off
echo %1 %2 %3 %4
echo %1
echo %2
echo %3
echo %4

進(jìn)入CMD,輸入cd c:\
然后輸入 test.bat 我是第一個參數(shù) 我是第二個參數(shù) 我是第三個參數(shù) 我是第四個參數(shù)

注意中間的空格,我們會看到這樣的結(jié)果:

DOS批處理中變量的示例分析

對比下代碼,%1就是”我是第一個參數(shù)” %2就是”我是第二個參數(shù)”
怎么樣理解了吧!

這些%1和%9可以讓批處理也能帶參數(shù)運(yùn)行,大大提高批處理功能!

還有一個%* 他是什么呢?他的作用不是很大,只是返回參數(shù)而已,不過他是一次返回全部參數(shù)的值,不用在輸入%1 %2來確定一個個的

例子

@echo off
echo %*

同樣保存為test.bat 放到C盤
進(jìn)入CMD,輸入cd c:\

然后輸入 test.bat 我是第一個參數(shù) 我是第二個參數(shù) 我是第三個參數(shù) 我是第四個參數(shù)

DOS批處理中變量的示例分析

可以看到他一次把全部參數(shù)都顯示出來了

好現(xiàn)在開始講那個比較特殊的%0

%0 這個不是返回參數(shù)的值了,他有兩層意思!

第一層意思:返回批處理所在絕對路徑

例子:

@echo off
echo %0
pause

保存為test.BAT放在桌面運(yùn)行,會顯示如下結(jié)果

DOS批處理中變量的示例分析

他把當(dāng)前批處理執(zhí)行的所在路經(jīng)打印出來了,這就是返回批處理所在絕對路徑的意思

第二層意思:無限循環(huán)執(zhí)行BAT

例子:

@echo off
net user
%0

保存為BAT執(zhí)行,他就會無限循環(huán)執(zhí)行net user這條命令,直到你手動停止(ctrl+c停止).
龍卷風(fēng)補(bǔ)充:其實(shí)%0就是第一參數(shù)%1前面那個參數(shù),當(dāng)然就是批處理文件名(包括路徑)。

以上就是批處理中的一些系統(tǒng)變量,另外還有一些變量,他們也表示一些功能,
FOR命令中的那些就是,FOR變量已經(jīng)說過,就不講了.

二、自定義變量

故名思意,自定義變量就是由我們來給他賦予值的變量

要使用自定義變量就得使用set命令了,看例子.

@echo off
set var=我是億速云
echo %var%
pause

保存為BAT執(zhí)行,我們會看到CMD里返回一個 "我是億速云"

var為變量名,=號右變的是要給變量的值
這就是最簡單的一種設(shè)置變量的方法了

如果我們想讓用戶手工輸入變量的值,而不是在代碼里指定,可以用用set命令的/p參數(shù)

例子:

@echo off
set /p var=請輸入變量的值
echo %var%
pause

var變量名 =號右邊的是提示語,不是變量的值變量的值由我們運(yùn)行后自己用鍵盤輸入!

set /p的用法可以通過set /?查看幫助文件

/P 命令行開關(guān)允許將變量數(shù)值設(shè)成用戶輸入的一行輸入。讀取輸入行之前,顯示指定的 promptString。promptString 可以是空的。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“DOS批處理中變量的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

dos
AI