DOS批處理高級教程精選(五)

第四章 批處理中的變量網絡

批處理中的變量,我把他分爲兩類,分別爲"系統變量"和"自定義變量"操作系統

咱們如今來詳解這兩個變量!命令行


1、系統變量server

他們的值由系統將其根據事先定義的條件自動賦值,也就是這些變量系統已經給他們定義了值,
不須要咱們來給他賦值,咱們只須要調用而以! 我把他們所有列出來!字符串


%ALLUSERSPROFILE% 本地 返回「全部用戶」配置文件的位置。
%APPDATA% 本地 返回默認狀況下應用程序存儲數據的位置。
%CD% 本地 返回當前目錄字符串。
%CMDCMDLINE% 本地 返回用來啓動當前的 Cmd.exe 的準確命令行。
%CMDEXTVERSION% 系統 返回當前的「命令處理程序擴展」的版本號。
%COMPUTERNAME% 系統 返回計算機的名稱。
%COMSPEC% 系統 返回命令行解釋器可執行程序的準確路徑。
%DATE% 系統 返回當前日期。使用與 date /t 命令相同的格式。由 Cmd.exe 生成。有關test

date 命令的詳細信息,請參閱 Date。
%ERRORLEVEL% 系統 返回上一條命令的錯誤代碼。一般用非零值表示錯誤。
%HOMEDRIVE% 系統 返回鏈接到用戶主目錄的本地工做站驅動器號。基於主目錄值而設置。用登錄

戶主目錄是在「本地用戶和組」中指定的。
%HOMEPATH% 系統 返回用戶主目錄的完整路徑。基於主目錄值而設置。用戶主目錄是在「本地用戶和組」中指定的。變量

%HOMESHARE% 系統 返回用戶的共享主目錄的網絡路徑。基於主目錄值而設置。用戶主目錄是擴展

在「本地用戶和組」中指定的。
%LOGONSERVER% 本地 返回驗證當前登陸會話的域控制器的名稱。
%NUMBER_OF_PROCESSORS% 系統 指定安裝在計算機上的處理器的數目。
%OS% 系統 返回操做系統名稱。Windows 2000 顯示其操做系統爲 Windows_NT。
%PATH% 系統 指定可執行文件的搜索路徑。
%PATHEXT% 系統 返回操做系統認爲可執行的文件擴展名的列表。
%PROCESSOR_ARCHITECTURE% 系統 返回處理器的芯片體系結構。值:x86 或 IA64 基於配置

Itanium
%PROCESSOR_IDENTFIER% 系統 返回處理器說明。
%PROCESSOR_LEVEL% 系統 返回計算機上安裝的處理器的型號。
%PROCESSOR_REVISION% 系統 返回處理器的版本號。
%PROMPT% 本地 返回當前解釋程序的命令提示符設置。由 Cmd.exe 生成。
%RANDOM% 系統 返回 0 到 32767 之間的任意十進制數字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系統 返回包含 Windows server operating system 根目錄(即系統根目錄)

的驅動器。
%SYSTEMROOT% 系統 返回 Windows server operating system 根目錄的位置。
%TEMP% 和 %TMP% 系統和用戶 返回對當前登陸用戶可用的應用程序所使用的默認臨時目錄。

有些應用程序須要 TEMP,而其餘應用程序則須要 TMP。
%TIME% 系統 返回當前時間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關

time 命令的詳細信息,請參閱 Time。
%USERDOMAIN% 本地 返回包含用戶賬戶的域的名稱。
%USERNAME% 本地 返回當前登陸的用戶的名稱。
%USERPROFILE% 本地 返回當前用戶的配置文件的位置。
%WINDIR% 系統 返回操做系統目錄的位置。


這麼多系統變量,咱們如何知道他的值是什麼呢?
在CMD裏輸入 echo %WINDIR%
這樣就能顯示一個變量的值了!

舉個實際例子,好比咱們要複製文件到當前賬號的啓動目錄裏就能夠這樣

copy d:\1.bat "%USERPROFILE%\「開始」菜單\程序\啓動\"

%USERNAME% 本地 返回當前登陸的用戶的名稱。 注意有空格的目錄要用引號引發來


另外還有一些系統變量,他們是表明一個意思,或者一個操做!

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

%0 這個有點特殊,有幾層意思,先講%1-%9的意思.

%1 返回批處理的第一個參數
%2 返回批處理的第二個參數
%3-%9依此推類

反回批處理參數?到底怎麼個返回法?

咱們看這個例子,把下面的代碼保存爲test.BAT而後放到C盤下

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

進入CMD,輸入cd c:\
而後輸入 test.bat 我是第一個參數 我是第二個參數 我是第三個參數 我是第四個參數

注意中間的空格,咱們會看到這樣的結果:

我是第一個參數 我是第二個參數 我是第三個參數 我是第四個參數
我是第一個參數
我是第二個參數
我是第三個參數
我是第四個參數

對比下代碼,%1就是」我是第一個參數」 %2就是」我是第二個參數」
怎麼樣理解了吧!


這些%1和%9可讓批處理也能帶參數運行,大大提升批處理功能!

還有一個%* 他是什麼呢?他的做用不是很大,只是返回參數而已,不過他是一次返回所有參數的值,不用在輸入%1 %2來肯定一個個的


例子
@echo off
echo %*

一樣保存爲test.bat 放到C盤
進入CMD,輸入cd c:\
而後輸入 test.bat 我是第一個參數 我是第二個參數 我是第三個參數 我是第四個參數

能夠看到他一次把所有參數都顯示出來了


好如今開始講那個比較特殊的%0


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

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

例子:
@echo off
echo %0
pause

保存爲test.BAT放在桌面運行,會顯示以下結果
"C:\Documents and Settings\Administrator\桌面\test.bat"

他把當前批處理執行的所在路經打印出來了,這就是返回批處理所在絕對路徑的意思

第二層意思:無限循環執行BAT

例子:
@echo off
net user
%0

保存爲BAT執行,他就會無限循環執行net user這條命令,直到你手動中止.
龍捲風補充:其實%0就是第一參數%1前面那個參數,固然就是批處理文件名(包括路徑)。

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

2、自定義變量

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

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

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

保存爲BAT執行,咱們會看到CMD裏返回一個 "我是值"

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

若是咱們想讓用戶手工輸入變量的值,而不是在代碼裏指定,能夠用用set命令的/p參數

例子:

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

var變量名 =號右邊的是提示語,不是變量的值
變量的值由咱們運行後本身用鍵盤輸入!

好了批處理的變量先介紹到這,關於set命令,下次再寫個專門的文章吧.

相關文章
相關標籤/搜索