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