bat指令碼的學習

2021-09-12 02:54:33 字數 2156 閱讀 4751

因為辦公的環境是在windows下,為了方便工作,還是要熟悉一下bat指令碼的書寫(因為發現平時還是很常寫bat的)!

一、bat命令的簡介:

1.批處理檔案是乙個「.bat」結尾的文字檔案,這個檔案的每一行都是一條dos命令。可以使用任何文字檔案編輯工具建立和修改。

2.批處理的程式設計能力遠不如c語言等程式語言,也十分不規範。

3.每個編寫好的批處理檔案都相當於乙個dos的外部命令,把它所在的目錄放到dos搜尋路徑(path)中,即可在任意位置執行。

4.c:\autoexec.bat 是每次系統啟動時都會自動執行的,可以將每次啟動時都要執行的命令放入該檔案中(只存在於dos與win9x現代的win nt不存在)。

5.大小寫不敏感(命令符忽略大小寫)

6.批處理的擴充套件名為 .bat 或 .cmd。

7.在命令提示下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe來執行該檔案。

%systemroot%   ===    c:\windows    (%windir% 同樣)

%programfiles% === c:\program files

%userprofile% === c:\documents and settings\administrator (子目錄有「桌面」,「開始選單」,「收藏夾」等)

%temp% === c:\docume~1\admini~1\locals~1\temp (%tem% 同樣)

%os% === windows_nt (系統)

%path% === %systemroot%\system32;%systemroot%;%systemroot%\system32\wbem (原本的設定)

%homedrive% === c: (系統盤)

%homepath% === \documents and settings\administrator

:: 列舉當前的環境變數

setlocal enabledelayedexpansion

for /f "usebackq delims==" %%i in (`set`) do @echo %%i !%%i!

二、基本命令:

a.echo命令: 控制台回顯,echo off 表示在此語句後所有執行的命令都不顯示命令列本身;

b.@命令: 表示不顯示@後面的命令,此語句常用於開頭,表示不顯示所有的命令列資訊,包括此句)

c.goto命令: goto label (label是引數,指定所要轉向的批處理程式中的行,eof,這個標籤將控制轉移到當前指令碼檔案的結尾。

不定義就退出。

d.rem命令: 注釋命令,在c語言中相當與/*...*/。

e.pause命令: 會暫停批處理的執行並在螢幕上顯示press any key to continue...的提示,等待使用者按任意鍵後繼續。

f. call命令 : 引數: [drive:][path] filename 指定要呼叫的批處理程式的位置和名稱。filename 引數必須具有 .bat 或 .cmd 副檔名。

呼叫另乙個批處理程式,並且不終止父批處理程式。如果不用call而直接呼叫別的批處理檔案,那麼執行完那個批處理檔案後將無法返回當前檔案並執行當前檔案的後續命令。call 命令接受用作呼叫目標的標籤。如果在指令碼或批處理檔案外使用 call,它將不會在命令列起作用。

g.if命令 : if) 則條件成立,執行命令,否則執行下一句。(注意是兩個等號);if exist) 如果有指定的檔案,則條件成立,執行命令,否則執行下一句;if errorlevel number)if errorlevel number

h.比較運算子:

equ - 等於 (一般使用「」)

neq - 不等於 (沒有 「!=」,改用「 if not 11 」的寫法)

lss - 小於

leq - 小於或等於

gtr - 大於

geq - 大於或等於

i、choice 命令

choice 使用此命令可以讓使用者輸入乙個字元(用於選擇),從而根據使用者的選擇返回不同的 errorlevel,

然後配合 if errorlevel 選擇執行不同的命令。

BAT指令碼學習

bat指令碼編寫學習 echo call pause rem是批處理檔案最常用的幾個命令。1.echo 表示顯示此命令後的字元 2.echo off 表示在此語句後所有執行的命令都不顯示命令列本身 3.與echo off相象 但它是加在每個命令列的最前面,表示執行時不顯示這一行的命令列 只能影響當前...

BAT批處理指令碼學習記錄

1 echo off 表示不顯示後面的命令 echo off關掉回顯 on 為開啟回顯 2 echo 顯示後面的內容 建立檔案增加內容如 echo echo off autoexec.bat echo pause autoexec.bat 3 注釋 4 color顯示背景色和文字顏色 0 黑色 8 ...

BAT指令碼編寫

批處理檔案最常用的幾個命令 echo表示顯示此命令後的字元 echo on 表示在此語句後所有執行的命令都顯示命令列本身 echo off 表示在此語句後所有執行的命令都不顯示命令列本身 與echo off相像,但它是加在每個命令列的最前面,表示執行時不顯示這一行的命令列 只能影響當前行 call ...