<% dim ModuleName,InfoID,ChannelShortName,CorrelativeArticle,InstallDir,ChannelDir,Keyword,PageTitle,ArticleIntro,Articlecontent Keyword=stripHTML("匹配,模式") PageTitle=stripHTML("Windows命令行(cmd)下快速查找文件(类似Linux下find命令)") ArticleIntro=stripHTML("Windows命令行(cmd)下快速查找文件(类似Linux下find命令),for/r用法简介用了linux下的find命令,觉得查找文件很方便,那么在windows下有没有类似的命令可以遍历目录并") Articlecontent=stripHTML("for /r 用法简介 用了linux下的find命令,觉得查找文件很方便,那么在windows下有没有类似的命令可以遍历目录并通过文件名找到文件呢?答案是有:…") ModuleName = stripHTML("classical") InfoID = stripHTML("196067") ChannelShortName=stripHTML("文章") InstallDir=stripHTML("http://www.77169.com/") ChannelDir=stripHTML("classical") %> Windows命令行(cmd)下快速查找文件(类似Linux下find命令) - 华盟网 - http://www.77169.com
您现在的位置: 华盟网 >> 知识库 >> 操作系统 >> Windows 2003 >> 技巧教程 >> 正文

Windows命令行(cmd)下快速查找文件(类似Linux下find命令)

2015/4/14 作者:不祥 来源: 互联网
导读 <% if len(ArticleIntro)<3 then Response.Write Articlecontent 'Response.Write "Articlecontent" else Response.Write ArticleIntro 'Response.Write "ArticleIntro" end if %>
for /r 用法简介

用了linux下的find命令,觉得查找文件很方便,那么在windows下有没有类似的命令可以遍历目录并通过文件名找到文件呢?答案是有:

Windows下的 for /r 命令具有与Linux下 find 命令类似的功能,使用语法上类似:

find /r 目录名 %变量名 in (匹配模式1,匹配模式2) do 命令

匹配模式可以是通配类似于:

*.jpg:所有.jpg后缀的文件 *test*:所有名称中包含test的文件 注意:
1. 匹配模式中至少带上1个*号
2. 匹配内容仅限于文件名,不会匹配目录名

如果仅是查找和输出文件名,do后面的命令可以用@echo %变量名,即:

for /r 目录名 %i in (匹配模式1,匹配模式2) do @echo %i 常用的例子: # 将TestDir目录及所有子目录中所有的文件列举出来 C:\Users\cashey\Desktop>for /r TestDir %i in (*) do @echo %i C:\Users\cashey\Desktop\TestDir\b.jpg C:\Users\cashey\Desktop\TestDir\c.png C:\Users\cashey\Desktop\TestDir\doc\1.txt C:\Users\cashey\Desktop\TestDir\doc\2.txt C:\Users\cashey\Desktop\TestDir\src\test.py # 在TestDir目录及所有子目录中找出所有的txt文件 C:\Users\cashey\Desktop>for /r TestDir %i in (*.txt) do @echo %i C:\Users\cashey\Desktop\TestDir\doc\1.txt C:\Users\cashey\Desktop\TestDir\doc\2.txt # 在TestDir目录及所有子目录中找出所有的txt及jpg文件 C:\Users\cashey\Desktop>for /r TestDir %i in (*.txt,*.jpg) do @echo %i C:\Users\cashey\Desktop\TestDir\b.jpg C:\Users\cashey\Desktop\TestDir\doc\1.txt C:\Users\cashey\Desktop\TestDir\doc\2.txt # 在TestDir目录及所有子目录中找出所有文件名中包含test的文件 C:\Users\cashey\Desktop>for /r TestDir %i in (*test*) do @echo %i C:\Users\cashey\Desktop\TestDir\src\test.py 需要注意的点

匹配模式中如果不带*号,并不会精确匹配文件名,而会输出所有子目录拼接上该匹配模式的结果,像下面这样:

# # 目录中事实上不包含任何名称为abc的文件 C:\Users\cashey\Desktop>for /r TestDir %i in (abc) do @echo %i C:\Users\cashey\Desktop\TestDir\abc C:\Users\cashey\Desktop\TestDir\doc\abc C:\Users\cashey\Desktop\TestDir\src\abc

上面这样的输出一般不是你预期的,模式里至少需要带上1个*号