【1】echo 命令簡介
echo 命令的常見用法(必須掌握)分為以下幾種情況:
一、無參數
作用:顯示當前echo的狀態:處於打開或關閉狀態。
新建一個文本文件,命名為echo,修改類型為bat,用Notepad++打開,編輯以下內容:
1 echo 2 echo on 3 echo 4 echo off 5 echo 6 pause
運行結果:
二、有參數
- 參數為[on/off]。作用:on打開命令的回顯狀態;off關閉命令的回顯狀態。關於“回顯”,可以理解為:重復顯示。
- 參數為message。 作用:打印message內容。
- echo前面加@與否。 作用:加@代表不顯示當前行命令自身;否則反之。
- 參數 message > 文件。 作用:把message內容寫入文件中,其中“>”表示“清空另寫入”。
- 參數 message >> 文件。 作用:把message內容寫入文件中,其中“>>”表示“追加再寫入”。
- 其他.....
為了更好的理解以上各種情況,舉例如下:
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.
順序 選擇 循環 總結