1

我们需要通过 USB 密钥将文档分发给我们的合作伙伴。我被要求开发一款软件,它会检查服务器上的某些文档是否已更新,并继续同步记忆棒上的文件。

软件本身也需要具有自动更新功能,以防我们将来想要改进它。

你们觉得我应该从哪里开始?

4

8 回答 8

1

我建议使用 Python ...您可以使其可执行或将其安装在 USB 本身上(它不大)。一个很大的优势是您可以在现场改进它,因为您不需要重新编译。Python 非常适合这样的小任务。

一个很大的优势是平台独立性。

于 2009-09-29T12:02:17.480 回答
1

好吧,这显然取决于您要部署的环境,以及您个人使用过的环境。一开始我会倾向于 C#,因为有很多文档,并且可以让您使用 gui 快速部署 Windows 应用程序。但是,如果这是一个 Unix 环境,我确信这可以在一个简单的 shell 脚本中完成。

于 2009-09-29T12:02:29.147 回答
1

无论您最熟悉和最熟练的语言是什么,只要它具有与服务器通信的简单方法即可。(如果服务器是 Web 服务器,那可能不是问题)

于 2009-09-29T12:03:59.643 回答
1

我假设这是针对 Windows 的。C# 将是一个很好的选择,除非您不能确定用户已经安装了 .Net。否则我会使用 Delphi,它可以轻松创建本机可执行文件。无论您使用哪种语言,自动更新功能都会很痛苦,因为正在运行的 EXE 文件无法自行替换。您可以将程序的大部分功能实现为可以即时更新的单独 DLL,但如果您需要更新核心 EXE 本身,您仍然是 SOL。

于 2009-09-29T12:20:32.650 回答
1

我会研究Microsoft Sync Framework。查看“文件同步简介”部分。“...使用 Sync Framework 在桌面和设备之间有效地移动文件。”

我在一个项目中使用“ADO.Net 同步服务”(框架的一部分)来同步本地 SQL Express 数据库与主 SQL Server 数据库,它为我节省了大量时间。

于 2009-09-29T13:26:01.550 回答
1

Cygwin 中的 Windows 存在 Rsync - 如果您的服务器支持 ssh,它还支持带有公钥基础结构的 ssh。这可能是一种非常安全且简单的数据同步方式。

于 2009-09-29T13:31:39.033 回答
0

假设这是 Windows,我将从 USB 设备上的这个批处理文件开始: xcopy /diyc 。$服务器路径

也许这就足够了?

标志说明:

/D Copies only those files whose source time is newer than the destination time.
/I If destination does not exist and copying more than one file, assumes that destination must be a directory.
/C Continues copying even if errors occur.
/Y Suppresses prompting to confirm you want to overwrite an existing destination file.
于 2009-09-29T13:18:43.957 回答
0

一个批处理文件就足够了。我用一个简单的方法解决了类似的问题。另一种选择是 AutoIt 中的脚本,它是一种基本的语言,可以创建几乎没有依赖关系的小型“编译”程序。您只需将可执行文件复制到 USB 设备并从那里运行它。

于 2010-11-22T16:25:32.780 回答