批處理命令——echo 和 @


【1】echo 命令簡介

echo 命令的常見用法(必須掌握)分為以下幾種情況:

一、無參數

  作用:顯示當前echo的狀態:處於打開或關閉狀態。

  新建一個文本文件,命名為echo,修改類型為bat,用Notepad++打開,編輯以下內容:

1 echo
2 echo on
3 echo
4 echo off
5 echo
6 pause

  運行結果:

二、有參數

  1. 參數為[on/off]。作用:on打開命令的回顯狀態;off關閉命令的回顯狀態。關於“回顯”,可以理解為:重復顯示。
  2. 參數為message。 作用:打印message內容。
  3. echo前面加@與否。 作用:加@代表不顯示當前行命令自身;否則反之。
  4. 參數 message > 文件。 作用:把message內容寫入文件中,其中“>”表示“清空另寫入”。
  5. 參數 message >> 文件。 作用:把message內容寫入文件中,其中“>>”表示“追加再寫入”。
  6. 其他.....

  為了更好的理解以上各種情況,舉例如下:

  1> 新建一個文本文件,命名為echo1,修改類型為bat,用Notepad++打開,編輯以下內容:

1 echo off
2 echo 123
3 @echo off
4 echo 456
5 @echo on
6 echo 789
7 echo on
8 echo 012
9 pause

  運行結果:

  簡單分析:

  第 1 行:echo前沒有加@,那么顯示當前行命令本身;off表示關閉命令的回顯狀態。

  第 2 行:參數為“123”,上一句已經關閉了命令的“回顯”狀態,那么直接顯示命令執行的結果即123

  第 3 行:echo前加@,那么不顯示當前行命令本身(其實,即使不加也不會顯示!請往下看);off表示仍舊為關閉命令的回顯狀態。

  第 4 行:同第二行,直接顯示命令的執行結果即456

  第 5 行:echo前加@,那么不顯示當前行命令本身(其實,即使不加也不會顯示!請往下看);on表示打開命令的回顯狀態。

  第 6 行:參數為“789”,由於第五行已經打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為:F:\studybat>echo 789

  第 7 行:由於第五行已經打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為:F:\studybat>echo on

  第 8 行:與第六行同理

  第 9 行:為了查看顯示結果,特此暫停命令。以下示例同理再不做解釋。

    2> 新建一個文本文件,命名為echo2,修改類型為bat,用Notepad++打開,編輯以下內容:

1 @echo off
2 echo 123
3 echo off
4 echo 456
5 echo on
6 echo 789
7 @echo on
8 echo 012
9 pause

  運行結果:

  簡單分析:

  第 1 行:echo前加@,那么不顯示當前行命令本身;off表示關閉命令的回顯狀態。

  第 2 行:由於第一行已經關閉命令的回顯狀態,直接顯示此行命令的執行結果為123

  第 3 行:由於第一行已經關閉命令的回顯狀態,而且off表示仍舊關閉命令的回顯狀態,所以無輸出。

  第 4 行:由於第三行仍舊關閉命令的回顯狀態,直接顯示此行命令的執行結果為456

  第 5 行:由於第三行仍舊關閉命令的回顯狀態,所以此行命令不進行回顯。但是,on表示打開命令的回顯狀態。

  第 6 行:由於第五行打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為F:\studybat>echo 789

  第 7 行:由於第五行打開命令的回顯狀態,但是echo前加@,所以執行此行命令不重復顯示命令。on表示仍舊打開命令的回顯狀態。

  第 8 行:與第六行同理。

  3> 新建一個文本文件,命名為echo3,修改類型為bat,用Notepad++打開,編輯以下內容:

1 @echo off
2 echo 123
3 echo off
4 echo 456
5 @echo on
6 echo 789
7 echo on 
8 echo 012
9 pause

  運行結果:

  簡單分析:

  第 1 行:echo前加@,那么不顯示當前行命令本身;off表示關閉命令的回顯狀態。

  第 2 行:參數為“123”,由於第一行已經關閉命令的回顯狀態,執行此行命令直接反饋結果為123

  第 3 行:由於第一行已經關閉命令的回顯狀態,所以不再重復顯示此命令;off表示仍舊保持關閉回顯狀態。

  第 4 行:參數為“456”,由於第三行仍舊關閉命令的回顯狀態,執行此行命令直接反饋結果為456

  第 5 行:由於第三行仍舊關閉命令的回顯狀態,所以不再重復顯示此命令;至於@可以忽略不考慮,但是on表示打開命令的回顯狀態。

  第 6 行:由於第五行打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為F:\studybat>echo 789

  第 7 行:由於第五行打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為F:\studybat>echo on 當然,on表示仍舊打開命令的回顯狀態。

  第 8 行:由於第七行仍舊打開命令的回顯狀態,所以即與第六行同理。

  4> 新建一個文本文件,命名為echo4,修改類型為bat,用Notepad++打開,編輯以下內容:

1 echo off
2 echo 123
3 @echo off
4 echo 456
5 echo on
6 echo 789
7 @echo on
8 echo 012
9 pause

  運行結果:

  簡單分析:

  第 1 行:echo前無@,顯示此行命令,即為:F:\studybat>echo off ;off表示關閉命令的回顯狀態。

  第 2 行:參數為“123”,由於第一行已經關閉命令的回顯狀態,執行此行命令直接反饋結果為123

  第 3 行:由於第一行已經關閉命令的回顯狀態,所以不顯示此行命令狀態。off表示仍舊關閉命令的回顯狀態。

  第 4 行:參數與“456”,由於第三行仍舊關閉命令的回顯狀態,執行此行命令直接反饋結果為456

  第 5 行:由於第三行仍舊關閉命令的回顯狀態,不顯示此行命令。但是,on表示從此打開命令的回顯狀態。

  第 6 行:由於第五行打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為F:\studybat>echo 789

  第 7 行:由於第五行打開命令的回顯狀態,但是echo前加@,所以不顯示此行命令。on表示仍舊打開命令的回顯狀態。

  第 8 行:由於第七行仍舊打開命令的回顯狀態,所以執行此行命令需要重復顯示命令,即為F:\studybat>echo 012

  5> 新建一個文本文件,命名為echo5,修改類型為bat,用Notepad++打開,編輯以下內容:

1 echo on
2 echo I love bat > a.txt
3 echo I love bat too >> a.txt
4 pause

  運行結果:

  通過以上四個例子的分析,如上此例的終端結果就不再做分析。

  另外,在當前目錄(即文件夾)中會自動(當然,不存在情況下會先自動生成一個;存在情況下直接按命令寫入)生成一個a.txt文本文件,其內容如下:

  簡單分析:

  第 2 行:新建文本文件a.txt,寫入內容:I love bat

  第 3 行:在文件中追加內容:I love bat too

  注意:文件也可以為其他任意路徑,任意名稱等。在此不再贅述。

  6> 新建一個文本文件,命名為echo6,修改類型為bat,用Notepad++打開,編輯以下內容:

1 @echo off
2 echo I love bat > b.txt
3 echo I love bat too >> b.txt
4 echo I hate bat > b.txt
5 pause

  運行結果:

  根據前四個示例的情況分析,此例終端結果無任何內容,所以不再呈現。還不理解?請回頭再看看前四個例子。

  另外,在當前目錄(即文件夾)中會自動(當然,不存在情況下會先自動生成一個;存在情況下直接按命令寫入)生成一個b.txt文本文件,其內容如下:

  簡單分析:

  第 2 行:新建(因為實際我本地並沒有這個文件)文本文件b.txt,寫入內容:I love bat

  第 3 行:在文件中追加內容:I love bat too

  第 4 行:清空文件的所有內容,重新再寫入內容。具體內容為:I hate bat

  注意:例5與例6的聯系。理解“>” 與 “>>”的區別。

  7> echo 字符串 & echo 字符串 ......

  &類似and的意思,邏輯運算,用來顯示多行數據。新建一個文本文件,命名為echo7,修改類型為bat,用Notepad++打開,編輯以下內容:

1 echo abc & echo def & echo ghi
2 pause

  運行結果:

  8> 其他

  

【2】@命令簡介

   結合以上的示例,不難看出,@命令的作用很簡單:

   命令前加@符號,表示不顯示@后面的命令。

  舉一個不和諧的例子:在入侵過程中(使用批處理來格式化敵人的硬盤)自然不能讓對方看到你使用的命令啦。

 

Good Good Study, Day Day Up.

順序  選擇  循環  總結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM