軟件 : 物理學類 > 批處理文件
目錄
No. 1
  後綴是bat的文件就是批處理文件,是一種文本文件。簡單的說,它的作用就是自動的連續執行多條命令,批處理文件的內容就是一條一條的命令。那它有什麽用呢?
  比如,在啓動wps軟件時,每次都必須執行
  c:>cd wps
  c:wps>spdos
  c:wps>py
  c:wps>wbx
  c:wps>wps
  如果每次用wps之前都這樣執行一次,您是不是覺得很麻煩呢?
  如果有一個方法,衹需編寫一個批處理文件,就會自動執行剛纔的所有命令,您想不想學呢?
  當您看完此節,自己編寫的第一個批處理文件順利執行時,您一定會大吃一驚的。
  此外電腦每次啓動時都會尋找autoexec.bat這條批處理文件,從而可執行一些每次開機都要執行的命令,如設置路徑path、加載鼠標驅動mouse、磁盤加速smartdrv等,可以使您的電腦真正自動化。
  echo、@、call、pause、rem 是批處理文件最常用的幾個命令,我們就從他們開始學起。 echo 表示顯示此命令後的字符
  echo off 表示在此語句後所有運行的命令都不顯示命令行本身
  @ 與echo off相象,但它是加在其它命令行的最前面,表示運行時不顯示命令行本身。
  call 調用另一條批處理文件(如果直接調用別的批處理文件 ,執行完那條文件後將無法執行當前文件後續命令)
  pause 運行此句會暫停,顯示press any key to continue... 等待用戶按任意鍵後繼續
  rem 表示此命令後的字符為解釋行,不執行,衹是給自己今後查找用的
  例:用edit編輯a.bat文件,輸入下列內容後存盤為c:a.bat,執行該批處理文件後可實現:將根目錄中所有文件寫入 a.txt中,啓動ucdos,進入wps等功能。
  批處理文件的內容為: 文件表示:
  echo off 不顯示命令行
  dir c:*.* >a.txt 將c盤文件列表寫入a.txt
  call c:ucdosucdos.bat 調用ucdos
  echo 你好 顯示"你好"
  pause 暫停,等待按鍵繼續
  rem 使用wps 註釋將使用wps
  cd ucdos 進入ucdos目錄
  wps 使用wps
  批處理文件中還可以像c語言一樣使用參數,這衹需用到一個參數表示符%。
  %表示參數,參數是指在運行批處理文件時在文件名後加的字符串。變量可以從 %0到%9,%0表示文件名本身,字符串用%1到%9順序表示。
  例如,c:根目錄下一批處理文件名為f.bat,內容為 format %1
  則如果執行c:>f a: 則實際執行的是format a:
  又如c:根目錄下一批處理文件的名為t.bat,內容為 type %1 type %2
  那麽運行c:>t a.txt b.txt 將順序地顯示a.txt和b.txt文件的內容
  if goto choice for 是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專傢啦。
  if 表示將判斷是否符合規定的條件,從而决定執行不同的命令。 有三種格式:
  1、if "參數" == "字符串"待執行的命令
  參數如果等於指定的字符串,則條件成立,運行命令,否則運行下一句。(註意是兩個等號)
  如if "%1"=="a" format a:
  2、if exist 文件名待執行的命令
  如果有指定的文件,則條件成立,運行命令,否則運行下一句。如if exist config.sys edit config.sys
  3、if errorlevel 數字待執行的命令
  如果返回碼等於指定的數字,則條件成立,運行命令,否則運行下一句。如if errorlevel 2 goto x2dos程序運行時都會返回一個數字給dos,稱為錯誤碼errorlevel或稱返回碼
  goto 批處理文件運行到這裏將跳到goto 所指定的標號處, 一般與if配合使用。 如:
  goto end
  :end
  echo this is the end
  標號用 :字符串 表示,標號所在行不被執行
  choice 使用此命令可以讓用戶輸入一個字符,從而運行不同的命令。使用時應該加/c:參數,c:後應寫提示可輸入的字符,之間無空格。它的返回碼為1234……
  如: choice /c:dme defrag,mem,end
  將顯示
  defrag,mem,end[d,m,e]?
  例如,test.bat的內容如下:
  @echo off
  choice /c:dme defrag,mem,end
  if errorlevel 3 goto defrag 應先判斷數值最高的錯誤碼
  if errorlevel 2 goto mem
  if errotlevel 1 goto end
  :defrag
  c:dosdefrag
  goto end
  :mem
  mem
  goto end
  :end
  echo good bye
  此文件運行後,將顯示 defrag,mem,end[d,m,e]? 用戶可選擇d m e ,然後if語句將作出判斷,d表示執行標號為defrag的程序段,m表示執行標號為mem的程序段,e表示執行標號為end的程序段,每個程序段最後都以goto end將程序跳到end標號處,然後程序將顯示good bye,文件結束。
  for 循環命令,衹要條件符合,它將多次執行同一命令。
  格式for [%%f] in (集合) do [命令]
  衹要參數f在指定的集合內,則條件成立,執行命令
  如果一條批處理文件中有一行:
  for %%c in (*.bat *.txt) do type %%c
  含義是如果是以bat或txt結尾的文件,則顯示文件的內容。
  autoexec.bat
  dos在啓動會自動運行autoexec.bat這條文件,一般我們在裏面裝載每次必用的程序,如: path(設置路徑)、smartdrv(磁盤加速)、 mouse(鼠標啓動)、mscdex(光驅連接)、 doskey(鍵盤管理)、set(設置環境變量)等。
  如果啓動盤根目錄中沒有這個文件,電腦會讓用戶輸入日期和時間。
  例如,一個典型的autoexec.bat內容如下:
  @echo off 不顯示命令行
  prompt $p$g 設置提示符前有目錄提示
  path c:dos;c:;c:windows;c:ucdos;c: ools 設置路徑
  lh c:dosdoskey.com 加載鍵盤管理
  lh c:mousemouse.com 加載鼠標管理
  lh c:dossmartdrv.exe 加載磁盤加速管理
  lh c:dosmscdex /s /d:mscd000 /m:12 /v 加載cd-rom驅動
  set temp=c: emp 設置臨時目錄
No. 2
  後綴是bat的文件就是批處理文件,是一種文本文件。簡單的說,它的作用就是自動的連續執行多條命令,批處理文件的內容就是一條一條的命令。那它有什麽用呢?
  比如,在啓動wps軟件時,每次都必須執行
  C:>cd wps
  C:WPS>spdos
  C:WPS>py
  C:WPS>wbx
  C:WPS>wps
  如果每次用WPS之前都這樣執行一次,您是不是覺得很麻煩呢?
  如果有一個方法,衹需編寫一個批處理文件,就會自動執行剛纔的所有命令,您想不想學呢?
  當您看完此節,自己編寫的第一個批處理文件順利執行時,您一定會大吃一驚的。
  此外電腦每次啓動時都會尋找autoexec.bat這條批處理文件,從而可執行一些每次開機都要執行的命令,如設置路徑path、加載鼠標驅動mouse、磁盤加速smartdrv等,可以使您的電腦真正自動化。
  echo、@、call、pause、rem 是批處理文件最常用的幾個命令,我們就從他們開始學起。 echo 表示顯示此命令後的字符
  echo off 表示在此語句後所有運行的命令都不顯示命令行本身
  @ 與echo off相象,但它是加在其它命令行的最前面,表示運行時不顯示命令行本身。
  call 調用另一條批處理文件(如果直接調用別的批處理文件 ,執行完那條文件後將無法執行當前文件後續命令)
  pause 運行此句會暫停,顯示Press any key to continue... 等待用戶按任意鍵後繼續
  rem 表示此命令後的字符為解釋行,不執行,衹是給自己今後查找用的
  例:用edit編輯a.bat文件,輸入下列內容後存盤為c:a.bat,執行該批處理文件後可實現:將根目錄中所有文件寫入 a.txt中,啓動UCDOS,進入WPS等功能。
  批處理文件的內容為: 文件表示:
  echo off 不顯示命令行
  dir c:*.* >a.txt 將c盤文件列表寫入a.txt
  call c:ucdosucdos.bat 調用ucdos
  echo 你好 顯示"你好"
  pause 暫停,等待按鍵繼續
  rem 使用wps 註釋將使用wps
  cd ucdos 進入ucdos目錄
  wps 使用wps
  批處理文件中還可以像C語言一樣使用參數,這衹需用到一個參數表示符%。
  %表示參數,參數是指在運行批處理文件時在文件名後加的字符串。變量可以從 %0到%9,%0表示文件名本身,字符串用%1到%9順序表示。
  例如,C:根目錄下一批處理文件名為f.bat,內容為 format %1
  則如果執行C:>f a: 則實際執行的是format a:
  又如C:根目錄下一批處理文件的名為t.bat,內容為 type %1 type %2
  那麽運行C:>t a.txt b.txt 將順序地顯示a.txt和b.txt文件的內容
  if goto choice for 是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專傢啦。
  if 表示將判斷是否符合規定的條件,從而决定執行不同的命令。 有三種格式:
  1、if "參數" == "字符串" 待執行的命令
  參數如果等於指定的字符串,則條件成立,運行命令,否則運行下一句。(註意是兩個等號)
  如if "%1"=="a" format a:
  2、if exist 文件名 待執行的命令
  如果有指定的文件,則條件成立,運行命令,否則運行下一句。如if exist config.sys edit config.sys
  3、if errorlevel 數字 待執行的命令
  如果返回碼等於指定的數字,則條件成立,運行命令,否則運行下一句。如if errorlevel 2 goto x2 DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼
  goto 批處理文件運行到這裏將跳到goto 所指定的標號處, 一般與if配合使用。 如:
  goto end
  :end
  echo this is the end
  標號用 :字符串 表示,標號所在行不被執行
  choice 使用此命令可以讓用戶輸入一個字符,從而運行不同的命令。使用時應該加/c:參數,c:後應寫提示可輸入的字符,之間無空格。它的返回碼為1234……
  如: choice /c:dme defrag,mem,end
  將顯示
  defrag,mem,end[D,M,E]?
  例如,test.bat的內容如下:
  @echo off
  choice /c:dme defrag,mem,end
  if errorlevel 3 goto defrag 應先判斷數值最高的錯誤碼
  if errorlevel 2 goto mem
  if errotlevel 1 goto end
  :defrag
  c:dosdefrag
  goto end
  :mem
  mem
  goto end
  :end
  echo good bye
  此文件運行後,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然後if語句將作出判斷,d表示執行標號為defrag的程序段,m表示執行標號為mem的程序段,e表示執行標號為end的程序段,每個程序段最後都以goto end將程序跳到end標號處,然後程序將顯示good bye,文件結束。
  for 循環命令,衹要條件符合,它將多次執行同一命令。
  格式FOR [%%f] in (集合) DO [命令]
  衹要參數f在指定的集合內,則條件成立,執行命令
  如果一條批處理文件中有一行:
  for %%c in (*.bat *.txt) do type %%c
  含義是如果是以bat或txt結尾的文件,則顯示文件的內容。
  autoexec.bat
  DOS在啓動會自動運行autoexec.bat這條文件,一般我們在裏面裝載每次必用的程序,如: path(設置路徑)、smartdrv(磁盤加速)、 mouse(鼠標啓動)、mscdex(光驅連接)、 doskey(鍵盤管理)、set(設置環境變量)等。
  如果啓動盤根目錄中沒有這個文件,電腦會讓用戶輸入日期和時間。
  例如,一個典型的autoexec.bat內容如下:
  @echo off 不顯示命令行
  prompt $p$g 設置提示符前有目錄提示
  path c:dos;c:;c:windows;c:ucdos;c:tools 設置路徑
  lh c:dosdoskey.com 加載鍵盤管理
  lh c:mousemouse.com 加載鼠標管理
  lh c:dossmartdrv.exe 加載磁盤加速管理
  lh c:dosmscdex /S /D:MSCD000 /M:12 /V 加載CD-ROM驅動
  set temp=c:temp 設置臨時目錄
  簡單批處理命令簡介:
  【 echo 命令 】
  打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令將顯示當前回顯設置。
  語法
  echo [{on|off}] [message]
  Sample:@echo off / echo hello world
  在實際應用中我們會把這條命令和重定嚮符號(也稱為管道符號,一般用> >> ^)結合來實現輸入一
  些命令到特定的文件中。
  【 rem 命令 】
  註釋命令,類似於在C語言中的/*--------*/,它並不會被執行,衹是起一個註釋的作用,便於別人閱讀
  和你自己日後修改。
  :: 也具有rem的功能
  Rem Message
  Sample:@Rem Here is the description.
  【 pause 命令 】
  暫停命令。運行 Pause 命令時,將顯示下面的消息:
  Press any key to continue. . .(或:請按任意鍵繼續. . .)
  Sample:
  @echo off
  :begin
  copy G:*.* d:back
  echo 請插入另一張光盤...
  pause
  goto begin
  在這個例子中,驅動器 G 中磁盤上的所有文件均復製到d:back中。顯示的註釋提示您將另一張光盤
  盤放入驅動器 G 時,pause 命令會使程序挂起,以便您更換光盤,然後按任意鍵繼續處理。
  【 call 命令 】
  從一個批處理程序調用另一個批處理程序,並且不終止父批處理程序。call 命令接受用作調用目標的
  標簽。如果在腳本或批處理文件外使用 Call,它將不會在命令行起作用。
  語法
  call [[Drive:][Path] FileName ] [:label [arguments]]
  參數
  [Drive:}[Path] FileName
  指定要調用的批處理程序的位置和名稱。
  【 start 命令 】
  調用外部程序,所有的DOS命令和命令行程序都可以由start命令來調用。
  如:start calc.exe 即可打開Windows的計算器。
  常用參數:
  MIN 開始時窗口最小化
  SEPARATE 在分開的空間內開始 16 位 Windows 程序
  HIGH 在 HIGH 優先級類別開始應用程序
  REALTIME 在 REALTIME 優先級類別開始應用程序
  WAIT 啓動應用程序並等候它結束
  parameters 這些為傳送到命令/程序的參數
  執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用程序終止就返回命令提示。如果在命令
  腳本內執行,該新行為則不會發生。
  【 goto 命令 】
  跳轉命令。程序指針跳轉到指定的標簽,從標簽後的第一條命令開始繼續執行批處理程序。
  語法:goto label (label是參數,指定所要轉嚮的批處理程序中的行。)
  Sample:
  if {%1}=={} goto noparms
  if {%2}=={} goto noparms(如果這裏的if、%1、%2你不明白的話,先跳過去,後面會有詳細的解釋
  。)
  @Rem check parameters if null show usage
  :noparms
  echo Usage: monitor.bat ServerIP PortNumber
  goto end
  標簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標簽,goto
  命令就是根據這個:來尋找下一步跳到到那裏。最好有一些說明這樣你別人看起來纔會理解你的意圖啊。
  【 set 命令 】
  顯示、設置或刪除變量。
  顯示變量:set 或 set s 前者顯示批處理當前已定義的所有變量及其值,後者顯示所有以s開頭的變量及值。
  設置變量:set aa=abcd 此句命令便可嚮變量aa賦值abcd。如果變量aa已被定義,則aa的值被修改為abcd;若aa尚未定義,則此句命令即可定義新的變量aa,同時為變量aa賦予初始值abcd。
  刪除變量:set aa= 此句命令即可刪除變量aa。若變量aa已被定義,則刪除變量aa;若aa尚未定義,則此句命令為實質意義。
  需要說明的是,批處理中的變量是不區分類型的,不需要像C語言中的變量那樣還要區分int、float、char等。比如執行set aa=345後,變量aa的值既可以被視為數字345,也可以被視為字符串345。
  set命令具有擴展功能,如用作交互輸入、字符串處理、數值計算等,屬於高級命令範疇。
英文解釋
  1. :  batch file
包含詞
自動批處理文件批處理文件的擴展名utoexec.bat自動批處理文件