以编程方式批处理文件以便在晚上复制

时间:2009-05-18 14:26:36

标签: c# asp.net directory xcopy

我需要创建一个Intranet网站(页面),允许用户指示要复制到生产位置的本地网络文件夹。目前,这是在批处理文件中使用xcopy手动完成的。

我正在寻找的是触发复制的方法,以便在半夜完成,以及复制文件的方法。我想我可以从我的应用程序运行xcopy,但这是一个很好的方法吗?我应该使用System.IO名称空间对象来复制文件吗?是否有更好的方式在一起?

该应用程序将使用C#和ASP.NET编写。我们目前使用.NET 2.0 / 3.0,但如果它包含更好的解决方案库,我使用.NET 3.5没有问题。

用户基本上会指出他们需要复制哪个网络文件夹以及其他一些商业信息。指示的文件夹和所有子文件夹需要复制到目标位置(不是由用户设置)。

如果已经有一个应用程序在那里执行此操作,我也不反对。我没有必要写已经存在的东西。

5 个答案:

答案 0 :(得分:2)

对于第一个问题(午夜复制),我建议设置一个运行现有批处理文件(或任何程序)的计划任务

答案 1 :(得分:1)

对于日程安排部分,您可以使用Quartz.NET

使用System.IO在C#中编写xcopy操作并不困难。事实上,这将为您提供最大程度的灵活性。

答案 2 :(得分:1)

最简单的解决方案是将xcopy命令包装在命令文件中,并将其安排在您希望作为Web服务器上的计划任务时运行。

如果你想获得幻想,你可以为任务调度程序编写一个Web界面 - 我很确定我也看到了这种类型的应用程序的开源示例。

答案 3 :(得分:1)

我认为您应该考虑使用Windows Powershell进行复制(如果您愿意,可以使用其他脚本语言),由Windows Scheduled Tasks驱动。虽然您可以编写一个应用程序来执行此操作,但我认为拥有其他人可以编辑的脚本会更加可维护。

答案 4 :(得分:0)

你已经标记了这个ASP但是如果你不挑剔我会推荐Windows内置计划任务和rsync的组合。如果它真的必须从内部网页(并且你在IE中)自动化,则需要某种形式的ActiveX或可下载脚本/应用程序来配置时间表。