• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            統計

            • 隨筆 - 50
            • 文章 - 42
            • 評論 - 147
            • 引用 - 0

            留言簿(6)

            隨筆分類

            文章分類

            Link

            搜索

            •  

            積分與排名

            • 積分 - 164688
            • 排名 - 159

            最新評論

            閱讀排行榜

            評論排行榜

            批處理命令 for的用法

            對一組文件中的每一個文件執行某個特定命令。

            FOR %variable IN (set) DO command [command-parameters]

              %variable  指定一個單一字母可替換的參數。
              (set)      指定一個或一組文件。可以使用通配符。
              command    指定對每個文件執行的命令。
              command-parameters
                         為特定命令指定參數或命令行開關。

            在批處理程序中使用 FOR 命令時,指定變量請使用 %%variable
            而不要用 %variable。變量名稱是區分大小寫的,所以 %i 不同于 %I.

            如果命令擴展被啟用,下列額外的 FOR 命令格式會受到
            支持:

            FOR /D %variable IN (set) DO command [command-parameters]

                如果集中包含通配符,則指定與目錄名匹配,而不與文件
                名匹配。

            FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

                檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的
                FOR 語句。如果在 /R 后沒有指定目錄,則使用當前
                目錄。如果集僅為一個單點(.)字符,則枚舉該目錄樹。

            FOR /L %variable IN (start,step,end) DO command [command-parameters]

                該集表示以增量形式從開始到結束的一個數字序列。
                因此,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生
                序列 (5 4 3 2 1)。

            FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
            FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
            FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

                或者,如果有 usebackq 選項:

            FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
            FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
            FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

                filenameset 為一個或多個文件名。繼續到 filenameset 中的
               下一個文件之前,每份文件都已被打開、讀取并經過處理。
                處理包括讀取文件,將其分成一行行的文字,然后將每行
                解析成零或更多的符號。然后用已找到的符號字符串變量值
                調用 For 循環。以默認方式,/F 通過每個文件的每一行中分開
                的第一個空白符號。跳過空白行。您可通過指定可選 "options"
                參數替代默認解析操作。這個帶引號的字符串包括一個或多個
                指定不同解析選項的關鍵字。這些關鍵字為:

                    eol=c           - 指一個行注釋字符的結尾(就一個)
                    skip=n          - 指在文件開始時忽略的行數。
                    delims=xxx      - 指分隔符集。這個替換了空格和跳格鍵的
                                      默認分隔符集。
                    tokens=x,y,m-n  - 指每行的哪一個符號被傳遞到每個迭代
                                      的 for 本身。這會導致額外變量名稱的分配。m-n
                                      格式為一個范圍。通過 nth 符號指定 mth。如果
                                      符號字符串中的最后一個字符星號,
                                      那么額外的變量將在最后一個符號解析之后
                                      分配并接受行的保留文本。
                    usebackq        - 指定新語法已在下類情況中使用:
                                      在作為命令執行一個后引號的字符串并且一個單
                                      引號字符為文字字符串命令并允許在 filenameset
                                      中使用雙引號擴起文件名稱。

                某些范例可能有助:

            FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

                會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將
                每行中的第二個和第三個符號傳遞給 for 函數體,用逗號和/或
                空格分隔符號。請注意,此 for 函數體的語句引用 %i 來
                獲得第二個符號,引用 %j 來獲得第三個符號,引用 %k
                來獲得第三個符號后的所有剩余符號。對于帶有空格的文件
                名,您需要用雙引號將文件名括起來。為了用這種方式來使
                用雙引號,還需要使用 usebackq 選項,否則,雙引號會
                被理解成是用作定義某個要分析的字符串的。

                %i 在 for 語句中顯式聲明,%j 和 %k 是通過
                tokens= 選項隱式聲明的。可以通過 tokens= 一行
                指定最多 26 個符號,只要不試圖聲明一個高于字母 "z" 或
                "Z" 的變量。請記住,FOR 變量是單一字母、分大小寫和全局的變量;
                而且,不能同時使用超過 52 個。

                還可以在相鄰字符串上使用 FOR /F 分析邏輯,方法是,
                用單引號將括號之間的 filenameset 括起來。這樣,該字符
                串會被當作一個文件中的一個單一輸入行進行解析。

                最后,可以用 FOR /F 命令來分析命令的輸出。方法是,將
                括號之間的 filenameset 變成一個反括字符串。該字符串會
                被當作命令行,傳遞到一個子 CMD.EXE,其輸出會被捕獲到
                內存中,并被當作文件分析。如以下例子所示:

                  FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

                會枚舉當前環境中的環境變量名稱。

            另外,FOR 變量參照的替換已被增強。您現在可以使用下列
            選項語法:

                 %~I          - 刪除任何引號("),擴展 %I
                 %~fI        - 將 %I 擴展到一個完全合格的路徑名
                 %~dI        - 僅將 %I 擴展到一個驅動器號
                 %~pI        - 僅將 %I 擴展到一個路徑
                 %~nI        - 僅將 %I 擴展到一個文件名
                 %~xI        - 僅將 %I 擴展到一個文件擴展名
                 %~sI        - 擴展的路徑只含有短名
                 %~aI        - 將 %I 擴展到文件的文件屬性
                 %~tI        - 將 %I 擴展到文件的日期/時間
                 %~zI        - 將 %I 擴展到文件的大小
                 %~$PATH:I   - 查找列在路徑環境變量的目錄,并將 %I 擴展
                               到找到的第一個完全合格的名稱。如果環境變量名
                               未被定義,或者沒有找到文件,此組合鍵會擴展到
                               空字符串

            可以組合修飾符來得到多重結果:

                 %~dpI       - 僅將 %I 擴展到一個驅動器號和路徑
                 %~nxI       - 僅將 %I 擴展到一個文件名和擴展名
                 %~fsI       - 僅將 %I 擴展到一個帶有短名的完整路徑名
                 %~dp$PATH:I - 搜索列在路徑環境變量的目錄,并將 %I 擴展
                               到找到的第一個驅動器號和路徑。
                 %~ftzaI     - 將 %I 擴展到類似輸出線路的 DIR

            在以上例子中,%I 和 PATH 可用其他有效數值代替。%~ 語法
            用一個有效的 FOR 變量名終止。選取類似 %I 的大寫變量名
            比較易讀,而且避免與不分大小寫的組合鍵混淆。

            posted on 2008-11-25 22:00 pear_li 閱讀(662) 評論(0)  編輯 收藏 引用 所屬分類: Batch processing

            国内精品伊人久久久久av一坑| 亚洲狠狠久久综合一区77777 | 国内精品久久久久久久久| 一本一道久久精品综合 | 老男人久久青草av高清| 婷婷伊人久久大香线蕉AV| 久久综合综合久久97色| 无码国内精品久久综合88| 国产韩国精品一区二区三区久久| 91久久成人免费| 婷婷综合久久中文字幕蜜桃三电影| 91秦先生久久久久久久| 四虎国产精品成人免费久久| 丁香五月网久久综合| 亚洲精品乱码久久久久久蜜桃| 国产精品美女久久久久久2018| 久久综合九色欧美综合狠狠| 久久国产亚洲精品麻豆| 久久精品一区二区三区AV| 精品无码久久久久久久久久| 国产精品久久久亚洲| 午夜精品久久久久| 天天综合久久一二三区| 99久久精品免费观看国产| 国内精品久久久久久99蜜桃| 久久久久久久精品妇女99| 色综合合久久天天给综看| 久久久久久亚洲精品不卡| 丰满少妇人妻久久久久久4| 国产欧美久久一区二区| 国产精品久久精品| 精品亚洲综合久久中文字幕| 久久精品国产亚洲AV无码麻豆| 伊人久久精品无码二区麻豆| 亚洲婷婷国产精品电影人久久 | 狠狠色丁香久久婷婷综合_中 | 波多野结衣AV无码久久一区| 少妇人妻综合久久中文字幕| 色妞色综合久久夜夜| 少妇内射兰兰久久| av国内精品久久久久影院|