一.批處理常用DOS指令篇
1.1 學習echo rem cd dir指令學習要點:
1。顯示資訊:echo
2。注釋語句:rem
3。目錄切換:cd
4。列檔案名:dir
一、顯示資訊:echo在學習echo指令前我們先在C槽下建一個新檔案夾bat,并建一個空的bat檔案。
1。輸出提示資訊
格式:echo 你要輸出的資訊
例1
echo hello,world
echo i will come back
pause
執行顯示:
C:\bat>echo hello,world
hello,world
C:\bat>echo i will come back
i will come back
C:\bat>pause
請按任意鍵繼續. . .
我們寫的批處理,能不能讓它不顯示我們到底寫了什麼指令?OK!那我們就來學習echo的第二種用法!
2。關閉該指令的回顯
格式:@ 放在指令前面
例2
@echo hello,world
@echo i will come back
pause
執行顯示:
hello,world
i will come back
C:\bat>pause
請按任意鍵繼續. . .
3。打開回顯或關閉回顯功能
格式:echo [{ on|off }]
解釋一下,如果在批處指令前加上echo off,那麼将會關閉批處中的指令回顯。當然啦,你要是不想顯示echo off
指令本身,你可以把@加在echo off前面。
例3
@echo off
echo hello,world
echo i will come back
pause
執行顯示:
hello,world
i will come back
請按任意鍵繼續. . .
在批處理前面加上@echo off ,它将使所有指令不再顯示指令本身,當然也包括了echo off 指令本身也不會回顯
了。
4。輸出空行,即相當于輸入一個回車
格式:echo.
注意指令中的“.”要緊跟在ECHO後面,中間不能有空格,否則“.”将被當作提示資訊輸出到螢幕。另外“.”可以
用,:;”/]+\ 這些任一符号替代。
例4
@echo off
echo 我在寫批處理教程哦!
echo.
echo 你看到上面有空一行麼?
pause
執行顯示:
我在寫批處理教程哦!
你看到上面有空一行麼?
請按任意鍵繼續. . .
指令ECHO.輸出的回車,經DOS管道轉向可以作為其它指令的輸入,比如echo.|time即相當于在TIME指令執行後給
出一個回車。是以執行時系統會在顯示目前時間後,自動傳回到DOS提示符狀态。
5。答複指令中的提問
格式:ECHO 回複|指令表達式
作用:通過管道指令 | 把“回複”作為輸入傳導給後面的“指令表達式”,并作為“指令表達式”的輸入。(注
意,管道指令|的輸入方法,shift鍵 \)
例5
@echo off
rd /s c:\abc
pause
執行顯示:
c:\abc, 是否确認(Y/N)?
解釋一下,這裡abc是一個不為空的檔案夾,用rd 指令删除時它将會詢問你Y或N,這時你就要手動的輸入Y/N了。
OK,我們把批處改一下,這時系統将會自動幫助我們把Y輸入确認了
例6
@echo off
echo Y|rd /s c:\abc
pause
6。建立新檔案或增加檔案内容
格式:echo 檔案内容>檔案名
例7
@echo off
echo 123>myfile.txt
pause
這樣我們就在目前目錄下建立了一個myfile.txt檔案,檔案的内容為123。如果你想要建立一個空的新檔案,那你
可以試一下這個
例8
@echo off
echo. >myfile.txt
pause
注:上面所有執行個體中的pause是暫停指令,主要是用來暫停示範給大家看的,哈哈!!
二、注釋語句:rem
rem 為注釋指令,一般用來給程式加上注解,該指令後的内容不被執行,但能回顯。
例1
@echo off
echo 這是例1哦!
rem 上面的echo 語句用于顯示提示。
pause
另外 :: 也可以起到 rem 的注釋作用, 而且更簡潔有效; 但有兩點需要注意!
第一, 任何以冒号:開頭的字元行,在批進行中都被視作标号, 而直接忽略其後的所有内容。
有效标号:冒号後緊跟一個以字母數字開頭的字元串,goto 語句可以識别。
無效标号:冒号後緊跟一個非字母數字的一個特殊符号,goto 無法識别的标号,可以起到注釋
作用,是以 :: 常被用作注釋符号,其實 : 也可起注釋作用。
例2
@echo off
echo 這是例2哦!
::上面的echo 語句用于顯示提示。
pause
第二, 與 rem 不同的是, :: 後的字元行在執行時不會回顯, 無論是否用echo on 打開指令行回顯狀态,
因為指令解釋器不認為他是一個有效的指令行, 就此點來看, rem 在某些場合下
将比 :: 更為适用; 另外, rem 可以用于 config.sys 檔案中。
三、目錄切換:cd
1。同一個分區的切換
目錄切換格式:格式:CD [盤符][路徑]
如果目前目錄是C:\Documents and Settings\mzybar,我們要切換到同一分區下不同的目錄,請看下面的例子。(
注:下面例子中的>表示指令行下的提示符,>前面的表示目前目錄。)
例1
切換到C:\WINDOWS目錄
C:\Documents and Settings\mzybar>
cd C:\WINDOWS
C:\WINDOWS>
例2
切換到C:\WINDOWS\system32目錄
C:\Documents and Settings\mzybar>
cd C:\WINDOWS\system32
C:\WINDOWS\system32>
如果目前目錄是C:\WINDOWS\system32,我們要傳回到上一層目錄,即傳回到C:\WINDOWS時,我們可以這樣:
例3
C:\WINDOWS\system32>
cd..
C:\WINDOWS>
在這裡,cd..是不是簡單了很多?呵呵!當然了,你也可以cd C:\WINDOWS
如果目前目錄是C:\WINDOWS\system32,我們要傳回根目錄,即傳回到C:\時,你可以試下這個:
例4
C:\WINDOWS\system32>
cd\
C:\ >
在這裡傳回根目錄時,我們用的是cd\指令,當然你也是可以cd c:\
其實在DOS指令中.、..和\都是表示相對路徑的,.是目前目錄,..是上一層目錄,而\則表示根目錄。我們來試下
cd.
例5
C:\WINDOWS\system32>
cd.
C:\WINDOWS\system32>
看到了吧,當輸入cd.後還是在原來的位置,因為 。是目前目錄,切換到目前目錄當然沒有變羅。
2。不同分區的切換
格式:格式:CD /d [盤符][路徑]
如果目前目錄是C:\Documents and Settings\mzybar,我們需要切換到其它分區目錄,請看:
例1
切換到D:\123\abc
C:\Documents and Settings\mzybar>
cd /d d:\123\abc
D:\123\abc>
如果我們要切換到D盤的根目錄,則有更簡單的方法,請看:
例2
C:\Documents and Settings\mzybar>
D:
D:\>
在這裡,我們直接輸入驅動器号 冒号,就可以切換到它的根目錄。
3。CD 的另一個用途:顯示目前的完整路徑,一般用通過 %cd% 加以引用。
例1
@echo off
echo 目前路徑是 %cd%
pause
執行顯示的是目前的完整路徑。
四、列檔案名:dir
顯示目錄中的檔案和子目錄清單。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename] 指定要列出的驅動器、目錄和/或檔案。
/A 顯示具有指定屬性的檔案。
attributes D 目錄 R 隻讀檔案
H 隐藏檔案 A 準備存檔的檔案
S 系統檔案 - 表示“否”的字首
/B 使用空格式(沒有标題資訊或摘要)。
/C 在檔案大小中顯示千位數分隔符。這是預設值。用 /-C 來
停用分隔符顯示。
/D 跟寬式相同,但檔案是按欄分類列出的。
/L 用小寫。
/N 新的長清單格式,其中檔案名在最右邊。
/O 用分類順序列出檔案。
sortorder N 按名稱(字母順序) S 按大小(從小到大)
E 按擴充名(字母順序) D 按日期/時間(從先到後)
G 組目錄優先 - 颠倒順序的字首
/P 在每個資訊螢幕後暫停。
/Q 顯示檔案所有者。
/S 顯示指定目錄和所有子目錄中的檔案。
/T 控制顯示或用來分類的時間字元域。
timefield C 建立時間
A 上次通路時間
W 上次寫入的時間
/W 用寬清單格式。
/X 顯示為非 8dot3 檔案名産生的短名稱。格式是 /N 的格式,
短名稱插在長名稱前面。如果沒有短名稱,在其位置則
顯示空白。
/4 用四位數字顯示年
關于dir指令比較多,看到上面一大堆的參數頭都暈了,呵呵~ 在這裡我們學習一些常用的就OK了~
1。列出c:\windows下的目錄及檔案
格式:DIR [drive:][path][filename]
例1
dir c:\windows
這種方法有明顯的缺點——當清單中的目錄及檔案過多時就無法完全顯示,我們将通過/p參數解決這個問題。
/P 在每個資訊螢幕後暫停。
例2
dir /p c:\windows
我們在指令最後加上一個參數“/p”(即“page”頁的縮寫),列檔案時就會使用分頁顯示的方式,即列出一屏的目
錄及檔案後,提示“按任意鍵繼續...”,按任意鍵後則顯示下一屏。這樣就可以逐屏檢視了!
/B 使用空格式(沒有标題資訊或摘要)。
例3
dir /b c:\
我們在檢視時,發現列出來的檔案都帶有日期,時間,建立者等資訊,我們可以在指令後加上/b參數,讓它隻列出文
件名稱。
2。列出c:\下指定屬性的檔案
格式:DIR /a: attributes (這裡的:号可以省略)
attributes D 目錄 R 隻讀檔案
H 隐藏檔案 A 準備存檔的檔案
S 系統檔案 - 表示“否”的字首
例1
dir /a c:\
列出C:\下所有的檔案。
例2
dir /ah c:\
列出隐含的檔案(包含檔案和檔案夾)。
例3
dir /ad c:\
列出C:\下所有的檔案夾。
例4
dir /ad-h c:\
列出C:\下所有的檔案夾,但不包含隐含的檔案夾。
3。按分類列出c:\下的檔案
格式:DIR /o: sortorder (這裡的:号可以省略)
sortorder N 按名稱(字母順序) S 按大小(從小到大)
E 按擴充名(字母順序) D 按日期/時間(從先到後)
G 組目錄優先 - 颠倒順序的字首
例1
dir /on c:\
/o:排序方式 參數指定了dir指令顯示指令結果時的排序方式,排序方式設為“n”即代表按照檔案名的字母順序排列
(從A~Z,以此類推)。
例2
dir /ogn c:\
優先列出檔案夾,并且檔案夾和檔案都按字母順序排列。
★“/o”和“/a”都可以省略其後的冒号“:”,但之間不能留有空格。如“/o:n”省略後的形
式應為“/on”。