using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入要访问的驱动器:");
string VisitDriver = Console.ReadLine();
DriveInfo drive = new DriveInfo(VisitDriver);//获取驱动器(硬盘)
string strPath = drive.Name.ToString();//得到一个要查找的目标路径
DirectoryInfo dir = new DirectoryInfo(strPath);
foreach (FileInfo f in dir.GetFiles("*周杰伦*.*"))//开始查找文件名中含周杰伦的文件名
{
Console.WriteLine(f.FullName);//打印出完整路径
}
Console.Read();
}
}
}
下面是我查找含有 2009 字符的结果,同理查找周杰伦
{
//路径名
string DirName = @"e:\";
//文件中包含名
string FileName = "aa";
GetFileName(DirName,FileName);
Console.ReadLine();
}
static void GetFileName(string DirName, string FileName)
{
//文件夹信息
DirectoryInfo dir = new DirectoryInfo(DirName);
//如果非根路径且是系统文件夹则跳过
if (null != dir.Parent && dir.Attributes.ToString().IndexOf("System") > -1)
{
return;
}
//取得所有文件
FileInfo[] finfo = dir.GetFiles();
string fname = string.Empty;
for (int i = 0; i < finfo.Length; i++)
{
fname = finfo[i].Name;
//判断文件是否包含查询名
if (fname.IndexOf(FileName) > -1)
{
Console.WriteLine(finfo[i].FullName);
}
}
//取得所有子文件夹
DirectoryInfo[] dinfo = dir.GetDirectories();
for (int i = 0; i < dinfo.Length; i++)
{
//查找子文件夹中是否有符合要求的文件
GetFileName(dinfo[i].FullName, FileName);
}
}
void
Main(string[]
args)
{
//路径名
string
DirName
=
@"e:\";
//文件中包含名
string
FileName
=
"aa";
GetFileName(DirName,FileName);
Console.ReadLine();
}
static
void
GetFileName(string
DirName,
string
FileName)
{
//文件夹信息
DirectoryInfo
dir
=
new
DirectoryInfo(DirName);
//如果非根路径且是系统文件夹则跳过
if
(null
!=
dir.Parent
&&
dir.Attributes.ToString().IndexOf("System")
>
-1)
{
return;
}
//取得所有文件
FileInfo[]
finfo
=
dir.GetFiles();
string
fname
=
string.Empty;
for
(int
i
=
0;
i
<
finfo.Length;
i++)
{
fname
=
finfo[i].Name;
//判断文件是否包含查询名
if
(fname.IndexOf(FileName)
>
-1)
{
Console.WriteLine(finfo[i].FullName);
}
}
//取得所有子文件夹
DirectoryInfo[]
dinfo
=
dir.GetDirectories();
for
(int
i
=
0;
i
<
dinfo.Length;
i++)
{
//查找子文件夹中是否有符合要求的文件
GetFileName(dinfo[i].FullName,
FileName);
}
}
批处理实现文件全盘搜索
代码:
@echo off
title 文件搜索
color 2a
echo.
:loop
set /p filename=请输入要查找的文件名:
echo.
echo 文件搜索中,请耐心等待...
set alldrive=c d e f g h i j k l m n o p q r s t u v w x y z
for %%i in (%alldrive%) do if exist %%i:\ dir /s /b %%i:| find "%
filename%">>results.txt
type results.txt
del results.txt
echo 搜索完毕
echo.
echo.
echo 继续查询请输入y,退出请输入n
echo.
echo.======================================
set /p choice=请输入您的选择:
if %choice%==y goto loop
if %choice%==n goto end
pause>nul
:end
exit
没有时间修改,只希望对你有所启发!!!
String[] findfiles=new String[files.Length];
int index=0;
foreach(String file in files)
{
if(file.IndexOf("周杰伦")!=-1)
{
findfiles[index]=file;
index++;
}
}
for(int i=0;i<index;i++)
{
Console.WriteLine(findfiles[i]);
}