日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

dos中的for命令简单使用

發(fā)布時(shí)間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dos中的for命令简单使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、不添加任何參數(shù),for循環(huán)顯示非目錄文件

for命令幫助信息是這樣寫的:

/**

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


? %variable ?指定一個(gè)單一字母可替換的參數(shù)。
? (set) ? ? ?指定一個(gè)或一組文件。可以使用通配符。
? command ? ?指定對(duì)每個(gè)文件執(zhí)行的命令。
? command-parameters
? ? ? ? ? ? ?為特定命令指定參數(shù)或命令行開關(guān)。

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

*/

目錄如下:


建立一文件 test.bat ,復(fù)制以下代碼:

@echo off for %%i in (C:\Users\Administrator\Desktop\test\*) do echo %%i pause 雙擊運(yùn)行結(jié)果:


可以明顯的看到圖中并沒有顯示目錄

2、通過 /d 參數(shù)顯示目錄文件:

for命令幫助信息是這樣寫的:

/**

FOR /D %variable IN (set) DO command [command-parameters]
? ? 如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。

*/

復(fù)制以下代碼:

@echo off for /d %%i in (C:\Users\Administrator\Desktop\test\*) do echo %%i pause 可以看到,加了參數(shù) /d ?后,只顯示了目錄文件

3、通過 ?/R 參數(shù),顯示目錄的級(jí)

for命令幫助信息是這樣寫的:

/**

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
? ? 檢查以 [drive:]path 為根的目錄樹,指向每個(gè)目錄中的 FOR 語(yǔ)句。
? ? 如果在 /R 后沒有指定目錄規(guī)范,則使用當(dāng)前目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,
? ? 則枚舉該目錄樹。

*/

我們?cè)赽bbbb目錄下在創(chuàng)建ccc和ddd目錄,在ccc目錄里再穿件eee目錄:

復(fù)制一下代碼,栓劑運(yùn)行:

@echo off for /R C:\Users\Administrator\Desktop\test %%i in (.) do echo %%i pause 運(yùn)行結(jié)果:


可以看到命令行將目錄的各級(jí)都顯示出來了

4、fort通過參數(shù) ?/L ?來實(shí)現(xiàn)遞增遞減循環(huán):

for命令幫助信息是這樣寫的:

/**

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
? ? 檢查以 [drive:]path 為根的目錄樹,指向每個(gè)目錄中的 FOR 語(yǔ)句。
? ? 如果在 /R 后沒有指定目錄規(guī)范,則使用當(dāng)前目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,
? ? 則枚舉該目錄樹。


FOR /L %variable IN (start,step,end) DO command [command-parameters]
? ? 該集表示以增量形式從開始到結(jié)束的一個(gè)數(shù)字序列。因此,(1,1,5)將產(chǎn)生序列
? ? 1 2 3 4 5,(5,-1,1)將產(chǎn)生序列(5 4 3 2 1)

*/

復(fù)制一下代碼:

@echo off for /L %%i in (1,1,4) do echo %%i pause 運(yùn)行結(jié)果:


如果改為: for /L %%i in (4,-1,2),則將以2為遞減循環(huán)。

5、通過參數(shù) /F 來對(duì)文件進(jìn)行操作:

這里幫助信息太多,就不列出來了,建立一個(gè)文件,輸入一下類容:

1234567890
aaaaaaaaaa
bb$bbbb*bb
cccccccccc
dddddddddd
eeeeeeeeee
ffffffffff
gggggggggg

格式如下:

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]

其中“options”有這些:eol=c, skip=n, delims=xxx, tokens=x,y,x-n, usebackq

首先我們來看elo=c,他表示忽略以c開頭的行,例如復(fù)制以下代碼:

@echo off for /f "eol=f" %%i in (C:\Users\Administrator\Desktop\test\hello.txt) do echo %%i pause 執(zhí)行結(jié)果:


可以看到fffffffffffff的那一行并沒有被打印。

skip=n,表示跳過開頭n行,例如復(fù)制以下代碼:

@echo off for /f "skip=2" %%i in (C:\Users\Administrator\Desktop\test\hello.txt) do echo %%i pause 執(zhí)行結(jié)果:


可以看到數(shù)字行和aaaaaaaaaaaaaaa行沒有打印出來;

delims=xy,表示在每一行中以x為分隔符號(hào),x和y后面的字符忽略,復(fù)制以下代碼:

@echo off for /f "delims=$" %%i in (C:\Users\Administrator\Desktop\test\hello.txt) do echo %%i pause 執(zhí)行結(jié)果:


對(duì)于tokens=n,m,n-m,參考:

http://blog.sina.com.cn/s/blog_4b795cc10100ez8d.html

對(duì)于usebackq,參見:

http://www.360doc.com/content/10/0706/05/1438974_37156664.shtml

6、對(duì)于set里面包含多條命令的方法

如下代碼:

@echo off for /f "delims=" %%i in ('dir /b .. ^| find "txt"') do echo %%i pause 篩選某個(gè)目錄下的txt文件,在管道前加 ?^ ?符號(hào)。

參見:http://bbs.csdn.net/topics/340021271

http://blog.csdn.net/lyhdream/article/details/14214657



總結(jié)

以上是生活随笔為你收集整理的dos中的for命令简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。