有了前文作鋪墊和基礎,后面的便容易理解多了。這里主要討論的是批處理過程中與顯示相關的命令用法。先看一下 echo、@、pause、>、>>、title 、rem 這幾個命令或符號的用法。
-
2.1 echo 、@ 和 pause
在DOS命令提示符中使用 echo /?
可以獲得對 echo 用法的解釋。
echo on
用于打開命令的回顯;
echo off
用于關閉命令的回顯(默認情況下,echo 是處于打開狀態的)。
只輸入 echo
可以獲得當前的回顯狀態(是否處于打開狀態)。
輸入 echo 再加一段文字,例如 echo Hello world!
可以顯示出 Hello world! 這句信息。
【 @ 】 ,如果在某一條命令最前面加上 @ ,那么這一行命令就不會顯示出來。與 echo off 有著相似之處。 echo off 以后的所有命令本身都不再顯示出來;而 @ 只是將當前那一行的命令不顯示出來。然而,至于命令所產生的輸出結果,仍然會顯示出來。這看起來似乎有些拗口,但我們會通過例子來很容易地理解它們。
【 pause 】從字面上看就是暫停的意思,效果等同于將程序掛起,在按下任意鍵后才繼續。
::::::::測試顯示狀態.bat::::::::
echo
pause
echo 例句一 此時回顯為打開狀態,因此前一句顯示了命令行
@echo 例句二 此時回顯雖然為打開狀態,但命令前使用了@,因此未顯示命令行本身
pause
echo off
echo
echo 例句三 此時回顯為關閉狀態,因此未顯示命令行本身
@echo 例句四 此時回顯為關閉狀態且使用了@,因此未顯示命令行本身
pause
::::::::::::::::::::::::::::::::
上面的這一段批處理測試,有效地展示了在使用 echo on 和 echo off ,以及在命令前加上 @ 符號后,命令行本身的顯示效果。不適用于win10
2.2 > 和 >>
【>】 表示將輸出結果打印到某處。
比如:echo Hello world!>d:\a.txt
表示將 Hello world! 這句話寫入到 D:\a.txt 文件中。如果以前該文件中已經存在,并且有自己的內容,那么以前的內容就被覆蓋掉了。比如我們再輸入:echo yo, whats up>d:\a.txt
,那么文件 a.txt 中以前的 Hello world! 就變成了現在的新例句。
【>> 】與 【>】 類似,也可以將輸出結果打印到某處。
比如我們用echo nothin much, and u?>>d:\a.txt
將例句寫到 a.txt 里時,該例句并不會覆蓋原有的 yo, whats up 這句話,而是加在了原句的后面。
如果一條命令后面跟上 >nul,
比如 pause>nul
表示將 pause 這條命令的輸出顯示到空設備里,
nul 表示為空。用了 pause>nul
這條命令后,"按任意鍵繼續..."的提示就不再出現了。
對比 echo off、@ 和 >nul 。
echo off 表示這以后的所有命令的本身不再顯示了,直到后面有 echo on 的出現。
而加在命令行前面的 @ 只是讓當前這一行命令不顯示。
加在命令行后面的 >nul 卻可以讓該命令的輸出不顯示。
-
2.3 title 和 rem
title 后面跟字符串可以改變當前命令提示符的標題名稱。
輸入 title 這是新標題后
,該命令提示符左上角的標題名稱已經變為"這是新標題"了。
輸入中文可以通過 Ctrl+空格 切換出中文輸入法;也可以通過復制粘貼的方式輸入。
【rem】 的用法就很簡單了,rem 后面跟上一段文字,在批處理中可以作為注釋用。rem 和它后面跟的文字在實際運行時并不會起任何作用,只是為了方便人們閱讀該批處理時更容易理解而已(如果您用過C的話,一定會聯想到C語言里的 // 或 /* */ 的用法)。
除了 rem 外,兩個連續的冒號{【::】 也起同樣的作用。
提示:rem 與 :: 的區別在于,rem 也是一種命令,在 echo on 的情況下會被顯示出來,而 :: 卻不會。
:::::::測試標題和注釋.bat:::::::
@echo off
rem 上條命令表示以后所有的命令行不再顯示自身,@表示連echo off這一句都不顯示,當前這一行只是注釋而已,不參與程序的運行。
echo 歡迎!
pause
title 現在標題已經換成這句了
echo 標題已更改
echo 現在使用了暫停,按任意鍵后該批處理結束~
pause>nul
rem 不顯示pause的輸出提示,而是使用我們自己定義的暫停提示。
::::::::::::::::::::::::::::::::
-
2.4 其他命令
prompt ,這就是命令提示符中所謂的"提示符"了。
在命令提示符中輸入 prompt 加一段文字能夠使得提示符不再是以傳統的路徑名和大于號組成的,而是以我們剛才輸入的那段文字開頭的。這也許不是很好理解,或者您對 prompt 的含義還不清楚或只知道其字面含義。這并不要緊,如果您只要簡單地輸入 prompt 提示符
就能很快地明白 prompt 的含義了。
此外,要想恢復以前的路徑名和大于號為開頭的提示符,只需要再輸入prompt $p$g
即可。這里【$p】 表示當前驅動器和路徑, 【$g】 表示大于號。
因為一些特殊的格式或符號需要用 $ 加特定的字母來表示。
具體的說明可以用 help prompt 來查詢。