首页 > 代码库 > 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