资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
这个小程序实现定时任务把 A 文件夹中的文件与 B 文件夹中的同步,有兴趣的朋友来看下 吧。 程序简介: /目的是后台定时运行文件同步操作 使 A 文件夹中的文件与 B 文件夹中的同步 /先将 A 文件夹中存在而 B 文件夹中没有的 A 文件夹中的文件删除 /再直接将 B 文件夹下的文件全部复制到 A 文件夹下 /或者将 B 文件夹中存在 A 文件夹中没有或比 A 文件夹中的更新的 B 文件夹中的文件复制 到 A 文件夹下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace ImageManager public partial class BackgroundWorkerForm : Formpublic BackgroundWorkerForm()InitializeComponent();/timer1.Interval = 10000;timer1.Enabled = true;CheckForIllegalCrossThreadCalls = false;private void button1_Click(object sender, EventArgs e)int iFileCount = 0;System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(“F:TempA“);iFileCount = di.GetFiles().Length;MessageBox.Show(“A 文件夹下 文件的个数“ + iFileCount.ToString();bool IsComplete = true;/目的是后台定时运行文件同步操作 使 A 文件夹中的文件与 B 文件夹中的同步/先将 A 文件夹中存在而 B 文件夹中没有的 A 文件夹中的文件删除/再直接将 B 文件夹下的文件全部复制到 A 文件夹下/或者将 B 文件夹中存在 A 文件夹中没有或比 A 文件夹中的更新的 B 文件夹中的 文件复制到 A 文件夹下 private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)IsComplete = false;/本次操作未完成System.IO.DirectoryInfo diA = new System.IO.DirectoryInfo(“F:TempA“); System.IO.FileInfo fiA = diA.GetFiles(); /先将 A 文件夹中存在而 B 文件夹中没有的 A 文件夹中的文件删除foreach (FileInfo tmpfiA in fiA)if (!File.Exists(“F:TempB“ + tmpfiA.Name)tmpfiA.Delete();this.label2.Text += “n A Delete “+tmpfiA.Name;/再直接将 B 文件夹下的文件全部复制到 A 文件夹下System.IO.DirectoryInfo diB = new System.IO.DirectoryInfo(“F:TempB“);System.IO.FileInfo fiB = diB.GetFiles();/foreach (FileInfo tmpfiB in fiB)/ tmpfiB.CopyTo(“F:TempA“ + tmpfiB.Name, true);/或者将 B 文件夹中存在 A 文件夹中没有或比 A 文件夹中的更新的 B 文件夹 中的文件复制到 A 文件夹下 foreach (FileInfo tmpfiB in fiB)if (File.Exists(“F:TempA“ + tmpfiB.Name)FileInfo tmp = new System.IO.FileInfo(“F:TempA“ + tmpfiB.Name);if (tmpfiB.LastWriteTime.CompareTo(tmp.LastWriteTime) != 0)tmpfiB.CopyTo(“F:TempA“ + tmpfiB.Name, true);this.label2.Text += “n A Update “ + tmpfiB.Name;elsetmpfiB.CopyTo(“F:TempA“ + tmpfiB.Name, true);this.label2.Text += “n A Copy “ + tmpfiB.Name;IsComplete = true;/本次操作已完成 可进行下次操作private void timer1_Tick(object sender, EventArgs e)if (IsComplete)this.backgroundWorker1.RunWorkerAsync();this.label1.Text = DateTime.Now.ToString();
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号