以 C# windows 形式创建备份程序

Creating a backup-maker program in C# windows form

我想做一个程序,可以每小时将 folder/subfolders 副本复制到特定目的地。我做了一个简单的程序,如果我按下一个按钮就可以复制文件,但它没有预定,每次我打开它时它都会忘记源和目标。你能帮帮我吗?提前致谢!

控制台案例

static public void Main(string[] args)
{
  Console.WriteLine("Starting background process, press ESCAPE to stop.");
  var timer = new System.Threading.Timer(ProcessFiles, null, 1000, 2000);
  while ( Console.ReadKey().Key != ConsoleKey.Escape ) ;
}

static private void ProcessFiles(object state)
{
  Console.WriteLine("Copy files... " + DateTime.Now.ToLongTimeString());
}

您还可以创建服务:

https://docs.microsoft.com/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer

https://www.c-sharpcorner.com/article/create-windows-services-in-c-sharp/

输出

WinForms 案例

从 Visual Studio 工具箱的 组件 选项卡添加一个 Timer 并设置所需的 Interval 属性 以毫秒为单位因此一个小时3600000。

双击创建关联事件方法:

private void TimerCopyFile_Tick(object sender, EventArgs e)
{
  LabelInfo.Text("Copy files... " + DateTime.Now.ToLongTimeString());
}

您需要在某处启动它或设置启用 属性。

timer.Start();

因此,您可以根据需要设计您的应用程序,例如设置,您可以使用 TrayIcon。

WPF案例

除了System.Threading.Timer还有:

https://docs.microsoft.com/dotnet/api/system.windows.threading.dispatchertimer

ASP.NET 案例

除了System.Threading.Timer还有:

https://docs.microsoft.com/dotnet/api/system.web.ui.timer