如何监视某个目录,发现特定文件后就自动移动到其它目录中?用了filewatch后,可以监视到某个特定类型的文件,但是要用file.move去移动就报错。似乎不能直接用move来操作。举个例子:设置监控目录是:D:\A监视的文件类型是*.txt文件在该目录下如果发觉有txt文件就移动到D:\B目录下。大侠告诉下具体如何实现的,谢谢啦
解决方案 »
- vs2010 连接office2010 access,为什么找不到f:\\asd.accdb??
- 数据结构问题,进制转换(C#)
- 在位置 0 处没有任何行。
- 正则表达式问题
- 安装 c# 程序 后 没有在安装后的文件夹中找到 access数据库 请问 数据库 可以隐藏吗 或者是 打包入.dll中?
- 关于 statusStrip 的问题
- 做excel外接程序问题(C#)
- WPF如何重载Canvas的LeftProperty?
- WPF listbox选中的item放在中间
- 我的机子win2k已经通过单位代理服务器连上互联网,可否设置代理让我的客户机通过我的机子上网
- 数据结构单链表倒置问题
- 关于检测客户端在线
移动:
public static void 查找和移动(String 原目录, string 目标目录, string 匹配符, string 过滤符)
{
if (匹配符.Trim() == "")
{
匹配符 = "*";
}
if (过滤符.Trim() == "")
{
过滤符 = "*";
}
var files = from file in Directory.EnumerateFiles(@原目录,
匹配符, SearchOption.AllDirectories)
select file;
foreach (var f in files)
{
String g = Path.GetFileName(f);
if (!g.Contains(过滤符))
{
File.Copy(f, @目标目录 + g, true);
}
}
}
private void FileMonitor_Changed(object sender, System.IO.FileSystemEventArgs e)
{
string ChangeType = e.ChangeType.ToString(); //display a message box for the appropriate changetype.
if (ChangeType=="Created")
{
//MessageBox.Show("File: " + e.FullPath + " " + e.ChangeType, e.Name+" Created");
}
else if(ChangeType=="Deleted")
{
//MessageBox.Show("File: " + e.FullPath + " " + e.ChangeType, e.Name+" Deleted");
}
else if(ChangeType=="Changed")
{
//MessageBox.Show("File: " + e.FullPath + " " + e.ChangeType, e.Name+" Changed");
File.Move (e.FullPath, "D:\\B");
}
}大家看看,当有文件放入D:\B目录后,会出发该事件,但是在运行File.Move (e.FullPath, "D:\\B");后程序就会报调用的目标发生了异常。