批處理經(jīng)典入門教程!(從不懂到高手)
更新時間:2007年02月23日 00:00:00 作者:
寫這篇教程的目的,是讓每一個看過這些文字的朋友記住一句話:如果愛可以讓事情變的更簡單,那么就讓它簡單吧!看這篇教程的方法
此外,已經(jīng)增強(qiáng)了 for 變量引用的替換修改程序?,F(xiàn)在可以使用下列可選的語法(對于任何變量 I):
變量(使用修改程序) 說明
%~I 展開刪除了周圍的任何引號 (") 的 %I
%~fI 將 %I 展開到完全合格的路徑名
%~dI 只將 %I 展開到驅(qū)動器號
%~pI 只將 %I 展開到路徑
%~nI 只將 %I 展開到文件名
%~xI 只將 %I 展開到文件擴(kuò)展名
%~sI 展開路徑以只包含短名稱
%~aI 將 %I 展開到文件的文件屬性
%~tI 將 %I 展開到文件的日期/時間
%~zI 將 %I 展開到文件大小
%~$PATH:I 搜索 PATH 環(huán)境變量所列出的目錄,并將 %I 展開開到第一個找到結(jié)果的全部合格名稱。如果沒有定義環(huán)境變量名,或搜索后沒有找到文件,則此修改程序?qū)U(kuò)展為空字符串。
修改程序可以合并以獲得復(fù)雜的結(jié)果:
變量(使用合并的修改程序) 說明
%~dpI 只將 %I 展開到驅(qū)動器號和路徑
%~nxI 只將 %I 展開到文件名和擴(kuò)展名
%~fsI 將 %I 展開到只包含短名稱的完整路徑名
%~dp$PATH:I 在 PATH 環(huán)境變量所列出的目錄中搜索 %I,并展開到第一個找到結(jié)果的驅(qū)動器號和路徑
%~ftzaI 將 %I 擴(kuò)展到與 dir 相似的輸出行
注意
在上述范例中,%I 和 PATH 可被其他有效值替換。通過有效的 for 變量名終止 %~ 語法。
使用大寫變量名(例如 %I)可以使代碼更具可讀性,并且避免與不區(qū)分大小寫的修改程序混淆。
Shift
更改批處理文件中可替換參數(shù)的位置。
shift
啟用命令擴(kuò)展(Windows 2000 中的默認(rèn)設(shè)置)后,shift 命令支持 /n 開關(guān),該開關(guān)通知命令在第 n 個參數(shù)處開始更改,n 可以是從 0 到 8 的任何一個值。例如,
SHIFT /2
將 %3 改為 %2,將 %4 改為 %3 等等,而 %0 和 %1 保持不變。
篩選器命令
篩選器命令可以幫助您排序、查看和選擇部分命令輸出結(jié)果。
通過篩選器命令傳遞信息
篩選器命令可以劃分、重排以及提取通過的部分信息好啊作。Windows 2000 有三個篩選器命令:
more 命令每次顯示一屏文件內(nèi)容或命令輸出。
find 命令在文件和命令輸出中搜索指定字符。
sort 命令按字母順序排列文件和命令輸出。
要將輸入從文件發(fā)送到篩選器命令,請使用小于符號 (<)。如果要篩選器命令從其他命令獲得輸入,請使用管道 (|)。
使用 more 命令來控制屏幕顯示
more 命令每次一屏地顯示文件的內(nèi)容或命令輸出。例如,下面的 more 命令每次顯示一屏 List.txt 文件的內(nèi)容:
more < list.txt
信息顯示一屏后,會出現(xiàn)字“More”。要繼續(xù)顯示下一屏,請按鍵盤上任意鍵。要停止命令且不查看詳細(xì)信息,請按CTRL+C 鍵。
如果使用產(chǎn)生多屏輸出的命令,more 將十分有用。例如,假設(shè)定要查看硬盤的目錄樹。如果 Windows 2000 不能將目錄在一屏內(nèi)全部顯示出來,請使用帶管道號 (|) 和 more 命令的 tree 命令,如下例所示:
tree c:\ | more
tree 命令的第一屏輸出被顯示,后跟詞“More”。Windows 2000 暫停,直到用戶按鍵盤上的任意鍵為止(PAUSE 鍵除外)。
使用 find 命令搜索文本
find 命令在一個或多個文件中搜索指定文本。Windows 2000 顯示每個包含該文本的行。find 命令可以用作篩選器命令或者標(biāo)準(zhǔn)的 Windows 2000 命令。有關(guān)將 find 用作標(biāo)準(zhǔn)的 Windows 2000 命令的信息,請單擊“相關(guān)主題”列表中的
find。
要將 find 當(dāng)作篩選器命令使用,請包含小于符號 (<) 和搜索的文件名。當(dāng)輸入文件名時,請記住搜索要區(qū)分大小寫。
例如,下面的命令查找文件 Trade.txt 中所有的“Pacific Rim”字符串:
find "Pacific Rim" < trade.txt
要保存 find 命令的輸出而不是顯示輸出,請使用大于號 (>) 和要存儲輸出的文件名。例如,下面的命令查找文件
Trade.txt 中所有的“Pacific Rim”字符串,并將結(jié)果保存在 Nwtrade.txt 文件中:
find "Pacific Rim" < trade.txt > nwtrade.txt
對文本文件排序
sort 命令按字母順序排列文本文件或命令的輸出。例如,可以使用以下命令對 List.txt 文件的內(nèi)容進(jìn)行排序,并在屏幕上顯示結(jié)果:
sort < list.txt
在此范例中,sort 命令對 List.txt 文件的行進(jìn)行排序并顯示結(jié)果,但不更改文件。要保存 sort 命令的輸出而不是顯示輸出,請在命令中包含大于號 (>) 和文件名。例如,可以使用以下命令對 List.txt 文件的行按字母順序排序,并將結(jié)果存到 Alphlist.txt 文件中:
sort < list.txt > alphlist.txt
要排序命令的輸出,請鍵入后面帶有管道 (|) 和 sort 命令的命令。例如,下面的命令對 find 命令的輸出結(jié)果進(jìn)行排序:
find "Jones" maillst.txt | sort
在鍵入該命令時,Windows 2000 按字母順序列出在其中出現(xiàn)“Jones”的行。
帶重定向符的合并命令
可以將篩選器命令、其他命令和文件名合并以生成自定義命令。例如,可以使用以下命令存儲包含“LOG”字符串的文件名:
dir /b | find "LOG" > loglist.txt
Windows 2000 通過 find 過濾器命令發(fā)送 dir 命令的輸出并將包含字符串“Log”的文件名存儲在 Loglist.txt 文件中。將結(jié)果存儲為文件名列表(如,A.log、Logdat.svd 和 Mylog.bat)。
要在相同命令中使用多個篩選器,請使用管道 (|) 分隔篩選器。例如,下面的命令搜索 C 盤上的每個目錄以查找包含“Log”字符串的文件名,并且每次顯示一屏:
dir c:\ /s /b | find "LOG" | more
因為使用管道 (|),Windows 2000 通過 find 命令發(fā)送 dir 命令的輸出結(jié)果。find 命令只選擇包含字符串“Log”的文件名。more 命令每次一屏地顯示 find 命令選擇的文件名。
More
每次顯示一個輸出屏幕。該命令通常用于查看長文件??梢詥为毷褂么嗣?,或者使用它控制其他命令的輸出,例如
type 命令。當(dāng)顯示填充可用的查看區(qū)域時將出現(xiàn) more 提示,用戶可以輸入許多命令來控制查看文件其余部分的方式。
command name | more [/c] [/p] [/s] [/tn] [+n]
more [[/c] [/p] [/s] [/tn] [+n]] < [drive:][path] filename
more [/c] [/p] [/s] [/tn] [+n] [files]
參數(shù)
[drive:][path] filename
指定要顯示的文件。
command name
指定將顯示其輸出的命令。
/c
顯示頁面前清除屏幕。
/p
擴(kuò)展換頁符。
/s
將多個空白行更改為一個空白行。
/tn
將制表位更改為 n 個空格
+n
顯示由 n 指定的行開始的第一個文件。
files
指定要顯示的文件列表。用空格分隔文件名。
More 子命令
以下命令在 more 提示 (-- More --) 下接受。
關(guān)鍵字 好啊作
space 顯示下一頁。
ENTER 顯示下一行。
F 顯示下一個文件。
q 退出。
? 顯示可用命令。
= 顯示行號。
P n 顯示以下 n 行。
S n 跳過下面 n 行。
Find
在一個文件或多個文件中搜索指定的文本字符串。
當(dāng)搜索到指定的文件后,find 將顯示出包含指定字符串的所有行。
find [/v] [/c] [/n] "string" [[drive:][path]filename[...]]
參數(shù)
/v
顯示未包含指定字符串的所有行。
/c
只顯示包含指定字符串的行數(shù)。
/n
將文件行號置于每行開頭。
/I
指定搜索不區(qū)分大小寫。
"string"
指定要搜索的字符組。必須將 string 的文本包括在引號中。
[drive:][path] filename
指定要在其中搜索指定字符串的文件的位置和名稱。
Sort
讀取輸入、排序數(shù)據(jù)并將結(jié)果寫到屏幕、文件和其他設(shè)備上。
sort [/r] [/+n] [/m kilobytes] [/l locale] [/rec characters] [[drive1:][path1]filename1] [/t [drive2:]
[path2]] [/o [drive3:][path3]filename3]
[command |] sort [/r] [/+n] [/m kilobytes] [/l locale] [/rec characters] [[drive1:][path1]filename1] [/t
[drive2:][path2]] [/o [drive3:][path3]filename3]
參數(shù)
/r
顛倒排序順序,即從 Z 到 A 排序,然后從 9 到 0 排序。
/+n
指定字符位置號 n,sort 在此處開始每次比較。例如,/+3 表示每次比較在每行的第三個字符開始。少于 n 個字符的行在其他行之前排序。默認(rèn)情況下,比較在每行的第一個字符開始。
/m kilobytes
指定用于排序的主內(nèi)存數(shù)量,按千字節(jié) (KB) 計。使用的內(nèi)存最小值總是 160 KB。如果指定了內(nèi)存大小,則無論有多少主內(nèi)存可用,指定的確切數(shù)量(但至少 160 KB)的內(nèi)存將用于排序。
如果輸入輸出均為文件,在沒有指定大小時,默認(rèn)最大內(nèi)存大小為可用主內(nèi)存的 90%,否則為主內(nèi)存的 45%。默認(rèn)設(shè)置通常會產(chǎn)生最佳的性能。
/l locale
替代由系統(tǒng)默認(rèn)區(qū)域設(shè)置定義的字符排序順序;即在安裝 Windows 2000 時選擇的語言和“國家(地區(qū))”。目前,默認(rèn)區(qū)域設(shè)置唯一的備用選項就是“C”區(qū)域設(shè)置,該區(qū)域設(shè)置比自然語言排序快,根據(jù)二進(jìn)制編碼對字符排序。
/rec characters
指定記錄或輸入文件的行中的最多字符數(shù)(默認(rèn)值為 4096,最大值為 65535)。
[drive1:][path1]filename1
指定要排序的文件。如果沒有指定文件名,則對標(biāo)準(zhǔn)輸入排序。指定輸入文件比將同一文件作為標(biāo)準(zhǔn)輸入重定向速度快。
/t [drive2:][path2]
指定保留 sort 命令工作存儲的目錄路徑,防止數(shù)據(jù)不能裝入主內(nèi)存。默認(rèn)為使用系統(tǒng)臨時目錄。
/o [drive3:][path3]filename3
指定要存儲排序后的輸入的文件。如果沒有指定,數(shù)據(jù)將寫入標(biāo)準(zhǔn)輸出。指定輸出文件比將同一文件作為標(biāo)準(zhǔn)輸出重定向速度快!
您可能感興趣的文章:
- windows批處理命令教程
- bat批處理 if 命令示例詳解
- 批處理 Set 命令詳解 讓你理解set命令
- BAT批處理中的字符串處理詳解(字符串截取)
- 批處理命令Start的使用介紹
- 批處理bat設(shè)置固定IP地址和自動IP地址
- Windows下用命令行修改IP地址的方法詳解(附批處理文件)
- 批處理獲取網(wǎng)卡名稱的代碼(附修改IP、網(wǎng)關(guān)、DNS腳本)
- 獲取外網(wǎng)IP地址的批處理代碼
- 批處理、VBS實現(xiàn)自動設(shè)置IP、默認(rèn)網(wǎng)關(guān)、DNS、WINS、IE代理(全)
- IP地址自動設(shè)置的批處理代碼分享
- 批處理實例下載
相關(guān)文章
清除系統(tǒng)垃圾文件的批處理(無錯增強(qiáng)版)
網(wǎng)上的東西有很多經(jīng)典的,但也有很多不足的地方,這篇文章網(wǎng)上很流行的,可以說是很精典,你在網(wǎng)上找一下下邊這些關(guān)鍵詞2013-05-05批處理中Copy與Xcopy命令的區(qū)別小結(jié)
本文介紹下,批處理腳本中,copy命令與xcopy命令在用法上的一些區(qū)別,感興趣的朋友可以參考下2014-05-05批處理完美實現(xiàn)FTP遠(yuǎn)程備份數(shù)據(jù)
本文給大家分享的是實現(xiàn)使用FTP遠(yuǎn)程備份數(shù)據(jù)到本地的批處理腳本,非常的簡單實用,有需要的小伙伴可以參考下。2015-09-09用批處理網(wǎng)絡(luò)映射驅(qū)動器后自動修改磁盤卷標(biāo)名腳本
于一些企業(yè),內(nèi)網(wǎng)的文件服務(wù)器和傳真服務(wù)器非常常見。為了方便,網(wǎng)絡(luò)管理員一般會把服務(wù)器上一些的文件夾他們映射為本地磁盤,方便用戶使用。2011-08-08