- wio
-
static 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);
}
}
- 北有云溪
-
static
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);
}
}
- 牛云
-
长目录名一般是这样解决的,比如c:program files 表示为c:progra~1 就可以了。
批处理实现文件全盘搜索
代码:
@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
没有时间修改,只希望对你有所启发!!!
- snjk
-
String[] files=Directory.GetFiles(path,"*.*",SearchOption.AllDirectories);//获取path路径下所有文件的文件路径(包含子目录)
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]);
}
- ardim
-
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string[] files = Directory.GetFiles(@"D:新建文件夹", "*周杰伦*.*", SearchOption.AllDirectories);
foreach (string s in files)
{
Console.WriteLine(s);
}
Console.Read();
}
}
}
- 里论外几
-
1.用 System.IO.Directory.GetFiles() 方法获得所有文件
2.生成一个泛型列表 List<System.IO.FileInfo> ,然后遍历上面找到的文件判断是否符合要求,生成 System.IO.FileInfo 对象加入上面的列表。
3.完成
- 我不懂运营
-
2楼的可以,写个类调用批处理
- 小菜G
-
你直接用window的搜索就可以了...
在D盘中查找:
*周杰伦*.*