C# 如何查找指定文件夹? 并获得它的路径?
4个回答
展开全部
楼主自己建一个应用程序,拖2个TEXTBOX,再拖一个按钮
自己在把下面的代码加到程序里就好了
然后再文本中自己查找指定文件夹
不过不用写硬盘的路径 比如:我c盘下有个文件夹叫WINDOWS
那文本中我就直接写WINDOWS就行了
如果你d盘下有个 我的文档 就直接写 我的文档
当然 想改也很容易 你自己可以试试哈 希望能帮到你
string[] str1=new string[]{"c:/","d:/","e:/","f:/","g:/","h:/"};
bool tr,fa;
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < str1.Length; i++){
if (System.IO.Directory.Exists(str1[i] + textBox1.Text))
{ tr = true; MessageBox.Show(str1[i] + "下 有这个"); }
else {fa = false;MessageBox.Show (str1[i] + "下 没有");}
}
}
//str1[i] + textBox1.Text 这个是路径 祝你好运
自己在把下面的代码加到程序里就好了
然后再文本中自己查找指定文件夹
不过不用写硬盘的路径 比如:我c盘下有个文件夹叫WINDOWS
那文本中我就直接写WINDOWS就行了
如果你d盘下有个 我的文档 就直接写 我的文档
当然 想改也很容易 你自己可以试试哈 希望能帮到你
string[] str1=new string[]{"c:/","d:/","e:/","f:/","g:/","h:/"};
bool tr,fa;
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < str1.Length; i++){
if (System.IO.Directory.Exists(str1[i] + textBox1.Text))
{ tr = true; MessageBox.Show(str1[i] + "下 有这个"); }
else {fa = false;MessageBox.Show (str1[i] + "下 没有");}
}
}
//str1[i] + textBox1.Text 这个是路径 祝你好运
展开全部
好像没有现成的函数,应该得自己写吧
刚写的一个,找遍整个硬盘的
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication43
{
class Program
{
static void Main(string[] args)
{
String dirname = Console.ReadLine();
Console.WriteLine("共找到" + FindDirectory(dirname).ToString() + "个文件夹");
Console.ReadKey();
}
static int FindDirectory(String dirname)
{
String[] logicDrivers = Environment.GetLogicalDrives();
int count = 0;
for (int i = 0; i < logicDrivers.Length; i++)
{
List<String> dirlist = new List<string>();
getDirs(logicDrivers[i], dirname, dirlist);
String[] dirs = dirlist.ToArray();
for (int j = 0; j < dirs.Length; j++)
{
count++;
Console.WriteLine(dirs[j]);
}
}
return count;
}
static void getDirs(String dirpath, String dirname, List<String> dirlist)
{
try
{
dirlist.AddRange(Directory.GetDirectories(dirpath, dirname, SearchOption.TopDirectoryOnly));
String[] dirs = Directory.GetDirectories(dirpath);
for (int i = 0; i < dirs.Length; i++)
{
getDirs(dirs[i], dirname, dirlist);
}
}
catch
{
return;
}
}
}
}
刚写的一个,找遍整个硬盘的
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication43
{
class Program
{
static void Main(string[] args)
{
String dirname = Console.ReadLine();
Console.WriteLine("共找到" + FindDirectory(dirname).ToString() + "个文件夹");
Console.ReadKey();
}
static int FindDirectory(String dirname)
{
String[] logicDrivers = Environment.GetLogicalDrives();
int count = 0;
for (int i = 0; i < logicDrivers.Length; i++)
{
List<String> dirlist = new List<string>();
getDirs(logicDrivers[i], dirname, dirlist);
String[] dirs = dirlist.ToArray();
for (int j = 0; j < dirs.Length; j++)
{
count++;
Console.WriteLine(dirs[j]);
}
}
return count;
}
static void getDirs(String dirpath, String dirname, List<String> dirlist)
{
try
{
dirlist.AddRange(Directory.GetDirectories(dirpath, dirname, SearchOption.TopDirectoryOnly));
String[] dirs = Directory.GetDirectories(dirpath);
for (int i = 0; i < dirs.Length; i++)
{
getDirs(dirs[i], dirname, dirlist);
}
}
catch
{
return;
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要找到这个文件夹的盘符,或者指定到它的父级,再使用System.IO.Directory.GetDirectories(path)获取它的子文件夹信息.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Environment.GetFolderPath(Environment.SpecialFolder.XXXXX);
XXXX就是特殊文件夹的类型
返回的就是他的路径
XXXX就是特殊文件夹的类型
返回的就是他的路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询