首页 > 代码库 > for 续6

for 续6

---------siwuxie095

   

   

   

for 实际运用样例(/f 的使用不列出来):

   

for %%i in (*) do echo %%i

显示当前目录下 ,所有非文件夹的文件名(包括

.rar .jpg .exe .bat .sys 等等所有非文件夹)

   

for %%i in (*.*) do echo %%i

搜索当前目录下的所有文件

   

for /d %%i in (*) do echo %%i

搜索当前路径下所有文件夹的名字

   

for /d %%i in (C:\abc\"ef gh"\*) do echo %%i

搜索 C 盘 abc 文件夹里 ef gh 文件夹里面的所有文件夹的名字

   

for /d %%i in (C:\"program files"\????) do echo %%i

搜索 C 盘 program files 文件夹里,文件夹名字为 1~4 个字符的所有文件夹

   

for /d %%i in (win??????????) do @echo %%i

搜索当前路径下以 win 开头,后面名字不多于 10 个字符的所有文件夹

   

for /d %%i in (C:\"program files"\win*) do echo %%i

搜索 C:\program files 文件夹里,所有以 win 开头的文件夹

   

for /d %%i in (C:\windows\w???) do echo %%i

搜索 C:\windows 文件夹里,所有以 w 开头 ,名字不超过 4 个字符的文件夹

   

for /d %%i in (C:\windows\wbem) do echo %%i

这种搜索没多大意义,计算机在 C:\windows 搜索到 wbem 就

显示:C:\windows\wbem ,否则不显示

   

for /r c:\ %%i in (*.exe) do echo %%i

搜索 C 盘下包括子目录的所有 exe 文件

   

for /r %%i in (*.txt) do @echo %%i

搜索当前路径目录树(当前脚本所处的路径)的所有 txt 文件

   

for /r C:\"program files" %%i in (????.txt) do echo %%i

搜索 C:\program files 目录树的所有名字不多于 4 个字符的 txt 文件

   

for /r C:\windows %%i in (*) do echo %%i

搜索 C:\windows 目录树的所有文件

   

for /r C:\"program files" %%i in (*.???) do echo %%i

搜索 C:\program files 目录树下所有扩展名不超过 3 个字符的所有文件

   

for /r C:\windows %%i in (???.??) do echo %%i

搜索 C:\windows 目录树下所有文件名不超过 3 个字符并且扩展名不

超过 2 个字符的文件

   

for /r C:\"program files" %%i in (???.*) do echo %%i

搜索 C:\program files 目录树下文件名不超过 3 个字符的所有格式文件

   

for /r C:\ %%i in (win*) do echo %%i

搜索 C 盘所有文件名以 win 开头的文件

   

for /r C:\ %%i in (win*.e??) do echo %%i

搜索 C 盘所有文件名以 win 开头,并且扩展名为 e 开头且不超过 3 个字符的所

有文件

   

for /r C:\ %%i in (boot.ini) do if exist %%i echo %%i

搜索整个 C 盘 ,找出 boot.ini 文件,这是搜索具体文件名的例子,

用 exist 判断文件是否存在,存在才输出,如果不用 exist 判断,则

整个 C 盘的文件都会被输出

   

for /r C:\windows %%i in (.) do echo %%i

枚举 C:\windows 目录树的所有文件

   

for /l %%i in (1,1,100) echo %%i

循环 100 次 ,并且输出从 1 到 100 的连续数字

   

for /l %%i in (100,-2,0) echo %%i

循环 50 次 ,并且输出从 100 到 0 的连续偶数

   

   

@echo off

set str=c d e f g h i j k l m n o p q r s t u v w x y z

echo 当前硬盘的分区有

for %%i in (%str%) do if exist %%i: echo %%i:

pause

   

sublime中:

   

技术分享

   

运行一览:

   

技术分享

   

   

这段代码能检测硬盘都有哪些分区,包括 U 盘和移动硬盘的分区,

当光驱中有盘的时候,也会被列出来

   

若不想显示光驱(有盘),解决办法:

利用光驱写保护功能,对分区写入数据,如果不能写入,

就不要显示出来(实际上 C盘也有写保护,需管理员权限,

否则显示拒绝访问)

@echo off

set str=c d e f g h i j k l m n o p q r s t u v w x y z

echo 当前硬盘的分区有

for %%i in (%str%) do (

if exist %%i: (

(echo.>>%%i:\1.txt)&&echo %%i:

)

)

pause

   

sublime中:

   

技术分享

   

   

   

   

wmic ,可以将隐藏分区也显示出来:

wmic diskquota get quotavolume /value

@echo off

echo 您的当前分区是

for /f "tokens=3 delims==" %%a in (‘wmic diskquota get quotavolume /value‘) do call :fuck %%a

pause

:fuck

set shit=%1

echo %shit:~1,2%

goto :eof

   

sublime中:

   

技术分享

   

运行一览:没有隐藏分区,所以这么显示…

   

技术分享

   

   

下面一句代码搞定存在哪些分区:

wmic logicaldisk where drivetype=3 get caption|findstr :

   

直接在 cmd 命令行窗口中:

   

技术分享

   

   

   

代码:

@echo off

rem 最后的冒号是英文格式的冒号,前面有个空格

wmic logicaldisk where drivetype=3 get caption|findstr :

pause>nul

   

sublime中:

   

技术分享

   

运行一览:

   

技术分享

   

   

   

   

【made by siwuxie095】

   

   

   

   

for 续6