簡單批處理內部命令簡介

newdayhope發表於2005-02-03
1. Echo 命令

  開啟回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯設定。

  語法

  echo [{on off}] [message]
  Sample:@echo off / echo hello world

  在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用> >> )結合來實現輸入一些命令到特定格式的檔案中.這將在以後的例子中體現出來。

  2. @ 命令

  表示不顯示@後面的命令,在入侵過程中(例如使用批處理來敵人的硬碟)自然不能讓對方看到你使用的命令啦。

  Sample:@echo off
  @echo Now initializing the program,please wait a minite...
  @format X: /q/u/autoset (format 這個命令是不可以使用/y這個引數的,可喜的是微軟留了個autoset這個引數給我們,效果和/y是一樣的。)

  3. 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命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來才會理解你的意圖啊。

  4. Rem 命令

  註釋命令,在C語言中相當與/*--------*/,它並不會被執行,只是起一個註釋的作用,便於別人閱讀和你自己日後修改。

  Rem Message
  Sample:@Rem Here is the description. 

     5. Pause 命令

  執行 Pause 命令時,將顯示下面的訊息:

  Press any key to continue . . .
  Sample:
  @echo off
  :begin
  copy a:*.* d:back
  echo Please put a new disk into driver A
  pause
  goto begin

  在這個例子中,驅動器 A 中磁碟上的所有檔案均複製到d:back中。顯示的註釋提示您將另一張磁碟放入驅動器 A 時,pause 命令會使程式掛起,以便您更換磁碟,然後按任意鍵繼續處理。

  6. Call 命令

  從一個批處理程式呼叫另一個批處理程式,並且不終止父批處理程式。call 命令接受用作呼叫目標的標籤。如果在指令碼或批處理檔案外使用 Call,它將不會在命令列起作用。

  語法

  call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

  引數

  [Drive:}[Path] FileName

  指定要呼叫的批處理程式的位置和名稱。filename 引數必須具有 .bat 或 .cmd 副檔名。

  7. start 命令

  呼叫外部程式,所有的DOS命令和命令列程式都可以由start命令來呼叫。

  入侵常用引數:

  MIN 開始時視窗最小化
  SEPARATE 在分開的空間內開始 16 位 Windows 程式
  HIGH 在 HIGH 優先順序類別開始應用程式
  REALTIME 在 REALTIME 優先順序類別開始應用程式
  WAIT 啟動應用程式並等候它結束
  parameters 這些為傳送到命令/程式的引數

  執行的應用程式是 32-位 GUI 應用程式時,C.EXE 不等應用程式終止就返回命令提示。如果在命令指令碼內執行,該新行為則不會發生。

  8. choice 命令

  choice 使用此命令可以讓使用者輸入一個字元,從而執行不同的命令。使用時應該加/c:引數,c:後應寫提示可輸入的字元,之間無空格。它的返回碼為1234……

  如: choice /c:dme defrag,mem,end

  將顯示

  defrag,mem,end[D,M,E]?
  Sample:
  Sample.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,檔案結束。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/181629/viewspace-789389/,如需轉載,請註明出處,否則將追究法律責任。

相關文章