【批處理】基礎概述
前幾日我的小夥伴提到如何快速學習批處理以提高自己的學習工作效率,今天我就將自己以前的學習思路概述一遍!
首先,批處理,顧名思義,就是批量處理,它的要求是每一行每一句代碼就是可執行的...
裝逼模式開啟.....{
批處理定義:顧名思義,批處理文件是將一系列命令按一定的順序集合為一個可執行的文本文件,其擴展名為BAT或者CMD。這些命令統稱批處理命令。
小知識:可以在鍵盤上按下Ctrl+C組合鍵來強行終止一個批處理的執行過程。
了解了大概意思後,我們正式開始學習.先看一個簡單的例子!
@echo off
echo "歡迎來到非常BAT!"
pause
把上面的3條命令保存為文件test.bat或者test.cmd然後執行,
他就會在屏幕上顯示以下二行話:
歡迎來到非常BAT!
請按任意鍵繼續. .
.
這就是一個簡單批處理文件了,這個批處理文件一共就用了2條命令 "echo" 和"pause"
還有一個特殊符號"@"
從上面這個簡單的批處理中,我們可以發現其實批處理就是運用一些含有特殊意義的符號和一些完成指定功能的命令組合而成,那麽在批處理中有多少這樣的特殊符號和功能命令呢?我們現在就來仔細了解一下一些最常用的!
(以下內容來源網絡,請各位仔細閱讀,好進入下節的實例說明)
======================================================
批處理的常見命令(未列舉的命令還比較多,請查閱幫助信息)
1、REM 和 ::
2、ECHO 和 @
3、PAUSE
4、ERRORLEVEL
5、TITLE
6、COLOR
7、mode 配置系統設備
8、GOTO 和 :
9、FIND
10、START
11、assoc 和 ftype
12、pushd 和 popd
13、CALL
14、shift
15、IF
16、setlocal 與 變量延遲
17、ATTRIB 顯示或更改文件屬性
介紹命令
1、REM
和 ::
REM為註釋命令,一般用來給程序加上註解,該命令後的內容不被執行,但能回顯。
其次,
:: 也可以起到rem
的註釋作用, 而且更簡潔有效; 但有兩點需要註意:
第一, 任何以冒號:開頭的字符行, 在批處理中都被視作標號, 而直接忽略其後的所有內容。
有效標號:冒號後緊跟一個以字母數字開頭的字符串,goto語句可以識別。
無效標號:冒號後緊跟一個非字母數字的一個特殊符號,goto無法識別的標號,可以起到註釋作用,所以 :: 常被用作註釋符號,其實 :+ 也可起註釋作用。
第二, 與rem
不同的是,
::後的字符行在執行時不會回顯, 無論是否用echo
on打開命令行回顯狀態, 因為命令解釋器不認為他是一個有效的命令行, 就此點來看, rem 在某些場合下將比 :: 更為適用; 另外,
rem 可以用於
config.sys 文件中。
行內註釋格式:%註釋內容% (不常用,慎用)
2、ECHO
和 @
@字符放在命令前將關閉該命令回顯,無論此時echo是否為打開狀態。
echo命令的作用列舉如下:
(1)打開回顯或關閉回顯功能
格式:echo
[{ on|off }]
如果想關閉“ECHO
OFF”命令行自身的顯示,則需要在該命令行前加上“@”。
(2)顯示當前ECHO設置狀態
格式:echo
(3)輸出提示信息
格式:ECHO
信息內容
上述是ECHO命令常見的三種用法,也是大家熟悉和會用的,但作為DOS命令淘金者你還應該知道下面的技巧:
(4)關閉DOS命令提示符
在DOS提示符狀態下鍵入ECHO OFF,能夠關閉DOS提示符的顯示使屏幕只留下光標,直至鍵入ECHO ON,提示符才會重新出現。
(5)輸出空行,即相當於輸入一個回車
格式:ECHO.
值得註意的是命令行中的“.”要緊跟在ECHO後面中間不能有空格,否則“.”將被當作提示信息輸出到屏幕。另外“.”可以用,:;”/[\]+等任一符號替代。
命令ECHO.輸出的回車,經DOS管道轉向可以作為其它命令的輸入,比如echo.|time即相當於在TIME命令執行後給出一個回車。所以執行時系統會在顯示當前時間後,自動返回到DOS提示符狀態
(6)答復命令中的提問
格式:ECHO
答復語|命令文件名
上述格式可以用於簡化一些需要人機對話的命令(如:CHKDSK/F;FORMAT
Drive:;del
*.*)的操作,它是通過DOS管道命令把ECHO命令輸出的預置答復語作為人機對話命令的輸入。下面的例子就相當於在調用的命令出現人機對話時輸入“Y”回車:
C:>ECHO Y|CHKDSK/F
C:>ECHO Y|DEL A :*.*
(7)建立新文件或增加文件內容
格式:ECHO
文件內容>文件名
ECHO 文件內容>>文件名
例如:
C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自動批處理文件
C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自動批處理文件中追加內容
C:>TYPE AUTOEXEC.BAT顯示該自動批處理文件
@ECHO OFF
C:\CPAV\BOOTSAFE
(8)向打印機輸出打印內容或打印控制碼
格式:ECHO
打印機控制碼>;PRN
ECHO 打印內容>;PRN
下面的例子是向M-1724打印機輸入打印控制碼。<Alt>156是按住Alt鍵在小鍵盤鍵入156,類似情況依此類推:
C:>ECHO +156+42+116>;PRN(輸入下劃線命令FS*t)
C:>ECHO [email=+155@]+155@>;PRN[/email](輸入初始化命令ESC@)
C:>ECHO.>;PRN(換行)
(9)使喇叭鳴響
C:>ECHO ^G
“^G”是在dos窗口中用Ctrl+G或Alt+007輸入,輸入多個^G可以產生多聲鳴響。使用方法是直接將其加入批處理文件中或做成批處理文件調用。
這裏的“^G”屬於特殊符號的使用,請看本文後面的章節
3、PAUSE
PAUSE,玩遊戲的人都知道,暫停的意思
在這裏就是停止系統命令的執行並顯示下面的內容。
例:
PAUSE
運行顯示:
請按任意鍵繼續. .
.
要顯示其他提示語,可以這樣用:
Echo 其他提示語
& pause > nul
4、errorlevel
程序返回碼
echo %errorlevel%
每個命令運行結束,可以用這個命令行格式查看返回碼
用於判斷剛才的命令是否執行成功
默認值為0,一般命令執行出錯會設 errorlevel 為1
5、title
設置cmd窗口的標題
title 新標題
#可以看到cmd窗口的標題欄變了
6、COLOR
設置默認的控制臺前景和背景顏色。
COLOR [attr]
attr 指定控制臺輸出的顏色屬性
顏色屬性由兩個十六進制數字指定 -- 第一個為背景,第二個則為
前景。每個數字可以為以下任何值之一:
0 = 黑色 8 = 灰色
1 = 藍色 9 = 淡藍色
2 = 綠色 A = 淡綠色
3 = 湖藍色 B = 淡淺綠色
4 = 紅色 C = 淡紅色
5 = 紫色 D = 淡紫色
6 = 黃色 E = 淡黃色
7 = 白色 F = 亮白色
如果沒有給定任何參數,該命令會將顏色還原到 CMD.EXE 啟動時
的顏色。這個值來自當前控制臺窗口、/T 開關或
DefaultColor 註冊表值。
如果用相同的前景和背景顏色來執行 COLOR 命令,COLOR 命令
會將
ERRORLEVEL 設置為 1。
例如:
"COLOR fc" 在亮白色上產生亮紅色