a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > BAT > 正文

dos批處理文件中的變量小結(jié)

2020-03-29 19:59:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

批處理中的變量,我把他分為兩類(lèi),分別為"系統(tǒng)變量"和"自定義變量"

系統(tǒng)變量:

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

%ALLUSERSPROFILE% 本地 返回“所有用戶(hù)”配置文件的位置。
%APPDATA% 本地 返回默認(rèn)情況下應(yīng)用程序存儲(chǔ)數(shù)據(jù)的位置。
%CD% 本地 返回當(dāng)前目錄字符串。
%CMDCMDLINE% 本地 返回用來(lái)啟動(dòng)當(dāng)前的 Cmd.exe 的準(zhǔn)確命令行。
%CMDEXTVERSION% 系統(tǒng) 返回當(dāng)前的“命令處理程序擴(kuò)展”的版本號(hào)。
%COMPUTERNAME%     系統(tǒng) 返回計(jì)算機(jī)的名稱(chēng)。
%COMSPEC%     系統(tǒng) 返回命令行解釋器可執(zhí)行程序的準(zhǔn)確路徑。
%DATE%     系統(tǒng) 返回當(dāng)前日期。使用與 date /t 命令相同的格式。由 Cmd.exe 生成。有關(guān)

date 命令的詳細(xì)信息,請(qǐng)參閱 Date。
%ERRORLEVEL%     系統(tǒng) 返回上一條命令的錯(cuò)誤代碼。通常用非零值表示錯(cuò)誤。
%HOMEDRIVE%     系統(tǒng) 返回連接到用戶(hù)主目錄的本地工作站驅(qū)動(dòng)器號(hào)。基于主目錄值而設(shè)置。用

戶(hù)主目錄是在“本地用戶(hù)和組”中指定的。
%HOMEPATH%     系統(tǒng) 返回用戶(hù)主目錄的完整路徑。基于主目錄值而設(shè)置。用戶(hù)主目錄是在“本

地用戶(hù)和組”中指定的。
%HOMESHARE%     系統(tǒng) 返回用戶(hù)的共享主目錄的網(wǎng)絡(luò)路徑。基于主目錄值而設(shè)置。用戶(hù)主目錄是

在“本地用戶(hù)和組”中指定的。
%LOGONSERVER%     本地 返回驗(yàn)證當(dāng)前登錄會(huì)話(huà)的域控制器的名稱(chēng)。
%NUMBER_OF_PROCESSORS%     系統(tǒng) 指定安裝在計(jì)算機(jī)上的處理器的數(shù)目。
%OS%     系統(tǒng) 返回操作系統(tǒng)名稱(chē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) 返回處理器說(shuō)明。
%PROCESSOR_LEVEL%     系統(tǒng) 返回計(jì)算機(jī)上安裝的處理器的型號(hào)。
%PROCESSOR_REVISION% 系統(tǒng) 返回處理器的版本號(hào)。
%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ū)動(dòng)器。
%SYSTEMROOT%     系統(tǒng) 返回 Windows server operating system 根目錄的位置。
%TEMP% 和 %TMP% 系統(tǒng)和用戶(hù) 返回對(duì)當(dāng)前登錄用戶(hù)可用的應(yīng)用程序所使用的默認(rèn)臨時(shí)目錄。

有些應(yīng)用程序需要 TEMP,而其他應(yīng)用程序則需要 TMP。
%TIME% 系統(tǒng) 返回當(dāng)前時(shí)間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關(guān)

time 命令的詳細(xì)信息,請(qǐng)參閱 Time。
%USERDOMAIN% 本地 返回包含用戶(hù)帳戶(hù)的域的名稱(chēng)。
%USERNAME% 本地 返回當(dāng)前登錄的用戶(hù)的名稱(chēng)。
%USERPROFILE% 本地 返回當(dāng)前用戶(hù)的配置文件的位置。
%WINDIR% 系統(tǒng) 返回操作系統(tǒng)目錄的位置。


這么多系統(tǒng)變量,我們?nèi)绾沃浪闹凳鞘裁茨?
在CMD里輸入     echo %WINDIR%
windir變量名,不是隨便亂輸?shù)?
這樣就能顯示一個(gè)變量的值了! 

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

copy d:/1.bat "%USERPROFILE%/「開(kāi)始」菜單/程序/啟動(dòng)/"

%USERNAME% 本地 返回當(dāng)前登錄的用戶(hù)的名稱(chēng)。     注意有空格的目錄要用引號(hào)引起來(lái)


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

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

%0 這個(gè)有點(diǎn)特殊,有幾層意思,先講%1-%9的意思.

%1 返回批處理的第一個(gè)參數(shù)
%2 返回批處理的第二個(gè)參數(shù)
%3-%9依此推類(lèi)

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

我們看這個(gè)例子,把下面的代碼保存為test.BAT然后放到C盤(pán)下

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

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

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

我是第一個(gè)參數(shù) 我是第二個(gè)參數(shù) 我是第三個(gè)參數(shù) 我是第四個(gè)參數(shù)
我是第一個(gè)參數(shù)
我是第二個(gè)參數(shù)
我是第三個(gè)參數(shù)
我是第四個(gè)參數(shù)

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

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

還有一個(gè)%*     他是什么呢?他的作用不是很大,只是返回參數(shù)而已,不過(guò)他是一次返回全部參數(shù)

的值,不用在輸入%1 %2來(lái)確定一個(gè)個(gè)的


例子
@echo off
echo %*

同樣保存為test.bat 放到C盤(pán)
進(jìn)入CMD,輸入cd c:/
然后輸入 test.bat 我是第一個(gè)參數(shù) 我是第二個(gè)參數(shù)     我是第三個(gè)參數(shù)     我是第四個(gè)參數(shù)

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


@echo off

for %%i in (%*) do echo %%i

做一個(gè)循環(huán),也是將%1-%9的參數(shù)全部顯示出來(lái)

 


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


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

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

例子:
@echo off
echo %0
pause

保存為test.BAT放在桌面運(yùn)行,會(huì)顯示如下結(jié)果
"C:/Documents and Settings/Administrator/桌面/test.bat"

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

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

例子:
@echo off
net user
%0

保存為BAT執(zhí)行,他就會(huì)無(wú)限循環(huán)執(zhí)行net user這條命令,直到你手動(dòng)停止.

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


現(xiàn)在說(shuō)自定義變量

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

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

@echo off
set var=我是值
echo %var%
pause

保存為BAT執(zhí)行,我們會(huì)看到CMD里返回一個(gè)     "我是值"

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

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

例子:

 

復(fù)制代碼 代碼如下:

@echo off
set /p var=請(qǐng)輸入變量的值
echo %var%
pause


var變量名     =號(hào)右邊的是提示語(yǔ),不是變量的值
變量的值由我們運(yùn)行后自己用鍵盤(pán)輸入!
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产小视频在线观看 | 日本一区二区三区视频免费看 | 欧美在线a | 欧美日韩综合精品 | 精品久久久久久久久久久久久久久 | 欧美激情一区二区三区 | 精品无码久久久久久国产 | 久久久网| 极品白嫩少妇无套内谢 | 日韩av在线免费 | 四虎影视库 | 久久综合狠狠综合久久 | 亚洲国产精品一区二区久久 | 国产在线观看一区二区三区 | 欧美视频二区 | 亚洲国产高清视频 | 亚洲成人激情在线观看 | 久久青| 中文字幕亚洲一区 | 亚洲精品视频免费 | 欧美精品在线一区二区三区 | 国产精品毛片一区二区在线看 | 欧洲亚洲精品久久久久 | 男人久久天堂 | 日本亚洲欧美 | 国产精品毛片在线看 | 中文字幕91 | 日韩欧美一区二区三区久久婷婷 | 黄色在线免费观看 | 99精品久久久久久久免费 | 综合色播 | 精品久久久久久国产 | 污视频网站在线免费 | 中文字幕在线电影观看 | 久久亚洲视频 | 日本一区二区高清不卡 | 黄色av网站大全 | 成人二区 | 三级黄色视频毛片 | 中文字幕免费在线 | 久久一区二区三区四区 |