2

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

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

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

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

如果已经有一个应用程序可以做到这一点,我也不反对。我不需要写已经存在的东西。

4

5 回答 5

2

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

于 2009-05-18T14:31:13.047 回答
1

对于调度部分,您可以使用Quartz.NET

使用 System.IO 在 C# 中编写 xcopy 操作并不难。事实上,这会给你最大程度的灵活性。

于 2009-05-18T14:30:23.233 回答
1

最简单的解决方案是将您的 xcopy 命令包装在一个命令文件中,并安排它在您想要的任何时候作为您的 Web 服务器上的计划任务运行。

如果你想变得花哨,你可以为任务调度程序编写一个 Web 界面——我很确定我也见过这种类型的应用程序的开源示例。

于 2009-05-18T14:36:48.557 回答
1

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

于 2009-05-18T14:37:22.613 回答
0

您已标记此 ASP,但如果您不挑剔,我建议您将 Windows 内置计划任务和 rsync 结合使用。如果确实必须从 Intranet 页面自动执行(并且您在 IE 中),则需要某种形式的 ActiveX 或可下载的脚本/应用程序来配置计划。

于 2009-05-18T14:37:57.790 回答