比较文件版本与批处理脚本

时间:2014-04-17 19:58:41

标签: ms-access batch-file ms-access-2007 ms-access-2010

我创建了一个Access数据库,通过整个部门共享,我将其分为前端和后端。不幸的是,我无法轻易确保所有用户在我添加请求的更新时始终在本地计算机上使用最新版本的前端。

为了解决这个问题,我创建了一个安装批处理脚本,用于在桌面上创建快捷方式。以及嵌套前端和更新"批量脚本在PC上的自定义文件夹中。快捷方式实际上链接到"更新"批处理脚本,然后下载最新版本的前端(覆盖现有版本),然后加载它。

理想情况下,每次都不会下载它,而只是在网络前端的版本大于本地计算机上的版本时才下载它。不幸的是,我似乎无法弄清楚如何使用accdb文件(虽然我已经看到可执行文件的信息)。我们正在使用Access 2010和Access 2007文件类型。我仍然没有想出如何在前端添加版本号,但是我打开包含一个文本文件以及存储该版本号。有什么建议吗?

以下是我目前用于更新文件的脚本。

@ECHO OFF
CLS
XCOPY "\\NetworkPath\Install\*.accdb" c:\Reserved\Database /y /q
XCOPY "\\NetworkPath\Install\Update.bat" c:\Reserved\Database /y /q
CLS
ECHO Starting database...
START "" "C:\Reserved\Database\FrontEnd.accdb"

1 个答案:

答案 0 :(得分:2)

我做了完全相同的事情,解决了只有在xcopy命令与/d开关一起使用时才重新下载前端的问题:

xcopy /yqd \\network\frontend.accdb frontend.accdb

Xcopy参考:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true

这有效,但在逻辑中留下了一个小的空白:当有人使用他们的前端的本地副本,并且你将新版本推送到网络,然后然后他们退出前端再次运行脚本:它不会下载新版本,因为用户的本地副本将有更晚的修改时间。

为了解决这个问题,我实际上制作了本地前端的副本,并从脚本中启动 ,而不是启动下载的副本。这样,下载的副本将保留其原始修改时间,并且xcopy的时间检查正常工作。您必须训练您的用户,但忽略accdb文件的本地副本并仅使用该脚本。