FOR
對一組文件逐一運行一條命令。該命令可用在批處理文件中,也可命令提示符下直接調用。
語法:
FOR在批處理程序中的使用語法如下:
FOR %%變量 IN (集合) DO 命令 [命令參數]
FOR在命令提示符下的使用語法如下:
FOR %變量 IN (集合) DO 命令 [
參數 :
%%變量或%變量
代表一個可替換的變量。FOR命令將用指定的一組文件中的每一個文本字符串來替換%%變量(或%變量),直到此命令(在命令參數中指定的)處理完所有的文件爲止。
用%%變量來執行一批處理程序中的FOR命令。用%變量來執行命令提示符下的FOR命令。
集合
指定一個或多個要用特定命令對其進行處理的文件或文本字符串。圓括號必須得有。
命令
指定要對一組文件中每一文件進行處理的命令。
FOR─註解
使用關鍵字IN及DO
IN和DO並不是參數,但FOR命令中要求這兩個關鍵字。如果省略了這兩個關鍵字,
則MS-DOS將顯示一錯誤信息。
使用可替代變量
除了數字0到9之外,你可把任何字符用作變量,以避免與批處理參數%0到%9的混淆。對簡單的批處理程序來說,象%%F這樣的一個單一字符就足夠了。在複雜的批處理程序中,你可把多個值用於變量以區分不同的可替換變量。然而,在同一命令行上不能嵌套(增加)多個FOR命令。
指定一組文件
集參數可代表一組文件或幾組文件。你可用通配符(*及?)來指定一文件集。下面是合法的文件集:
(*.doc)
(*.doc *.txt *.me)
(jan*.doc jan*.rpt feb*.doc feb*.rpt)
(ar??1991.* ap??1991.*)
當你使用FOR命令時,集中的第一個值將代替%%變量(或%變量),而爲了處理此值MS-DOS將執行指定的命令;此過程一直持續進行,直到MS-DOS將對應於集中的值(或多值)的所有文件(或多組文件)處理完畢爲止。
--------------------------------------------------------------------------------
FOR─例子
假設你想用TYPE命令來顯示當前目錄下擴展名.DOC或.TXT的所有文件的內容。爲了做到這一點要使用可替代變量%F,並在命令提示符下輸下面的命令。
for %f in (*.doc *.txt) do type %f
在此例中,當前目錄下擴展名爲.DOC或.TXT的每一個文件將代替%F變量,直到顯示出每一個文件的內容爲止。若把每一個%F都替換成%%F,則此命令可用於一批處理文件。否則,MS-DOS將忽略此變量而顯示錯誤信息。
MS-DOS支持你想用於特定命令的開關、管道及重定向符。例如,爲了把前一例的輸出送到PRN(默認打印機口),應輸入下面的命令:
for %f in (*.doc *.txt) do type %f > prn:
DOS命令批量統計局域網內各臺電腦的IP地址和其相對應(2009-08-07 00:45:16)轉載標籤: 雜談 分類: dos命令
網絡管理員在日常維護局域網時都會收集統計每臺電腦的IP地址和其相對應的MAC地址,這樣的好處是可以便捷、準確的控制管理每臺電腦,發現某臺電腦中毒或者數據流量異常能及時排查、封網。
能實現這種功能的工具在網上有很多,例如:超級網管(SuperLANadmin)等等,喜歡的朋友可以自己搜索一下。在這裏我主要談的是調用本機DOS命令來實現上述結果,畢竟我們不可能天天把工具帶在身邊。
地址解析協議(ARP)用於實現IP地址到網絡接口硬件地址的映射,該命令只有在安裝了 TCP/IP 協議之後纔可用。當某主機要向以太網中另一臺主機發送IP數據時,它首先根據目的主機的IP地址在ARP高速緩存中查詢相應的以太網地址,ARP高速緩存是主機維護的一個IP地址到相應的以太網地址的映射表。如果查到匹配的結點,則相應的以太網地址被寫入以太網幀首部,數據包被加入到輸入到輸出列隊等待發送。如果查詢失敗,ARP會先保留等待發送的IP數據包,然後廣播一個詢問目的主機硬件地址的ARP報文,等收到回答後再把IP數據包發送出去。
命令如下:
運行cmd.exe後執行:
for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.1.%i
arp -a
回車,一隻煙的功夫就會看到收集好列表。
(注意:把192.168.1 IP地址替換成你所在局域網的IP地址)