在批處理中%cd%表示當前路徑(沒有後面的'/')
還有乙個 errorlevel
表示程式執行的返回值
以下是摘錄的批處理變數的教程
批處理中的變數,我把他分為兩類,分別為"系統變數"和"自定義變數"
我們現在來詳解這兩個變數!
系統變數:
他們的值由系統將其根據事先定義的條件自動賦值,也就是這些變數系統已經給他們定義了值,
不需要我們來給他賦值,我們只需要呼叫而以! 我把他們全部列出來!
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%
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這條命令,直到你手動停止.
以上就是批處理中的一些系統變數,另外還有一些變數,他們也表示一些功能,
for命令中的那些就是,for變數已經說過,就不講了.
現在說自定義變數
故名思意,自定義變數就是由我們來給他賦予值的變數
要使用自定義變數就得使用set命令了,看例子.
@echo off
set var=我是值
echo %var%
pause
儲存為bat執行,我們會看到cmd裡返回乙個 "我是值"
var為變數名,=號右變的是要給變數的值
這就是最簡單的一種設定變數的方法了
如果我們想讓使用者手工輸入變數的值,而不是在**裡指定,可以用用set命令的/p引數
例子:@echo off
set /p var=請輸入變數的值
echo %var%
pause
var變數名 =號右邊的是提示語,不是變數的值
變數的值由我們執行後自己用鍵盤輸入!
批處理學習筆記
前言 批處理,也稱批處理指令碼。windows 環境下做開發,批處理 是乙個非常使用的工具,利用這個工具可以為專案開發提高很大的效率。window提供了很多的命令,通過批處理指令碼,組織這些命令,能夠很快速的做到很多事情,大多數是操作資料夾,操作檔案,啟動其他命令等等。具體例子有 工程打包輸出可執行...
批處理 學習記錄
使用批處理,做事情,覺得更快速,但是要學好批處理啊 一 什麼是批處理 批處理batch,也成為批處理指令碼。顧名思義,批處理就是對某物件進行批 量的處理,檔案拓展名為.bat。目前比較常用的批處理包含兩類 dos批處理和ps批處理。目前我學習的 是我用的比較多的dos批處理。批處理是一種簡化的指令碼...
批處理學習之符號
批處理學習之符號 1.作用 關閉當前行的回顯 如 echo off 說明 即不顯示echo off 這一命令 echo off 的作用是不顯示後面將要執行的dos命令 2.作用 輸出重定向符號,將dos命令執行的結果輸入到指定檔案中 如 ipconfig ip.txt 說明 將ipconfig的結果...