在命令提示符窗口运行:findfile (盘掘吵数空符):\ *.(文件后缀)
如:判毕侍[sourcecode language=”plain”]findfile d:\ *.txt [/sourcecode]
即为找出d盘根目录下的所有.txt后缀的文件并写入文件路径于文件中。
1、可以利用getenv函数来实现。在Linux系统中,home目录的定义是通过系统环境变量中的HOME变量值来确定的,在shell下可以通过
echo $HOME来查看。
而在C语言中,库函数getenv可以用作获取环差枣境变量值。该函数位于stdlib.h, 原型为
char *getenv(char *name)
功能为获取名字为name的环境变量字符串。
所以,下面代码就可以获取到home目录名了:
2、镇埋例程虚旅拆:
char *home
home = getenv("HOME")
printf("the home path is %s\n", home)
输入某文件夹路径,遍历该文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:
/// <summary>
/// 查找指定文件夹下指定后缀名的文件
/// </summary>
/// <param name="directory">文件夹</param>
/// <param name="pattern">后缀名</param>
/// <returns>文件路径</returns>
public void GetFiles(DirectoryInfo directory, string pattern, ref List<string>fileList)
{
if (directory.Exists || pattern.Trim() != string.Empty)
{
try
{
foreach (FileInfo info in directory.GetFiles(pattern))
{
fileList.Add(info.FullName.ToString())
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString())
}
foreach (DirectoryInfo info in directory.GetDirectories())//获取文件枯亩厅夹下的子文件夹
{
GetFiles(info, pattern, ref fileList)//递归调用该函数,获取子文件夹下的文件耐薯
}
}
}
使用实例:
List<string>FindResult = new List<string>()
GetFiles(new DirectoryInfo(@"C:\","*.*", ref FindResult) //获取C盘下的所有文件路径
GetFiles(new DirectoryInfo(@"\\192.168.1.107\Save"), "*.*"没隐, ref FindResult)//获取局域网上共享文件夹下的所有文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)