鄙人C#菜鸟 想用下面程序实现 查找指定文件(代码中暂定为“xi.txt”) 然后放到一个文件夹中,(控件没加太多只为实现这一目的)为方便 大家快速浏览 我已作出相关注释。。小弟初来此论坛发帖..求助求助!
private void button1_Click(object sender, EventArgs e)
{
string[] divers = Directory.GetLogicalDrives();//获取盘符目录
for (int i = 0; i < divers.Length; i++)
{
xilei(divers[i]);//调用方法
}
}
private void xilei(string xl)//定义方法
{
string[] tianxue = Directory.GetDirectories(xl);
for (int i = 0; i < tianxue.Length; i++)
{
label1.Text = tianxue[i];//显示查找过程
string x = Path.GetFileName(tianxue[i]);
if (x == "xi.txt")//指定查找文件
{
File.Copy(tianxue[i], @"E:\xilei\");
MessageBox.Show("已找到该文件,复制但E:\\xilei目录下", "提示");
}
xilei(tianxue[i]);//递归调用
}
}
}
问题是 在win7 下运行提示 一些目录访问受限 出错无法运行 ,当我指定D盘一个固定文件夹 查找时,程序执行了但却没有复制到我指定的目录下(该目录下我已防了指定文件“xi.txt”)..求高手!
private void button1_Click(object sender, EventArgs e)
{
string[] divers = Directory.GetLogicalDrives();//获取盘符目录
for (int i = 0; i < divers.Length; i++)
{
xilei(divers[i]);//调用方法
}
}
private void xilei(string xl)//定义方法
{
string[] tianxue = Directory.GetDirectories(xl);
for (int i = 0; i < tianxue.Length; i++)
{
label1.Text = tianxue[i];//显示查找过程
string x = Path.GetFileName(tianxue[i]);
if (x == "xi.txt")//指定查找文件
{
File.Copy(tianxue[i], @"E:\xilei\");
MessageBox.Show("已找到该文件,复制但E:\\xilei目录下", "提示");
}
xilei(tianxue[i]);//递归调用
}
}
}
问题是 在win7 下运行提示 一些目录访问受限 出错无法运行 ,当我指定D盘一个固定文件夹 查找时,程序执行了但却没有复制到我指定的目录下(该目录下我已防了指定文件“xi.txt”)..求高手!
解决方案 »
- cmpp2.0问题,华为的网关,该如何构造CMPP_CONNECT?
- 谁给来份面试题及答案呀
- 如何实现有效的字符串比较
- System.Net.Mail.SmtpException: 操作已超时。
- datagridview的CellContentClick问题
- 关于杨辉三角的题目
- 请教C/C++高手和C#高手:C#托管封送非托管结构问题
- 菜鸟 问一个下拉框 的简单问题,,,
- winform小问题求助!散分30!
- Textbox(支持多行)如果在开发期通过设属性自动换行?如果开发可移动(C#)的工具栏和子窗口(VC中的bar之类的东东)
- 初级问题:为什么我所有的代码都是这个错误:“回调.program.Dispose(bool)”: 没有找到适合的方法来重写
- 我怎么获取不到DataGridView中的值???
我怀疑是你 Directory.GetLogicalDrives();//获取盘符目录的时候就出错了
也许有些目录你没有权限遍历你点断点 看看错误出现在第几行代码,再做分析
{ label1.Text = tianxue[i];//显示查找过程
string x = Path.GetFileName(tianxue[i]);
if (x == "xi.txt")//指定查找文件
{
File.Copy(tianxue[i], @"E:\xilei\");
MessageBox.Show("已找到该文件,复制但E:\\xilei目录下", "提示");
}
catch(Exception ex)
{}
你可以看看 C#书里关闭调试这部分内容F9 在光标行设置断点
F10 单步调试,一行一行 调试
F5 跳到下一处断点位置
F11 进入方法里面进行调试
string[] tianxue = Directory.GetDirectories(xl);把string[] 改成DirectoryInfo[]
而且你的递归函数不能只有一个string参数表示路径,还要有个DirectoryInfo参数表示要搜索的文件夹