使用 PowerShell 将多个 .accdb 文件转换为 .mdb?

Posted

技术标签:

【中文标题】使用 PowerShell 将多个 .accdb 文件转换为 .mdb?【英文标题】:Convert multiple .accdb files to .mdb using PowerShell? 【发布时间】:2016-03-22 15:45:58 【问题描述】:

我需要将大约 50 个 .accdb 文件转换为 .mdb。我知道在 Access 本身有一种方法可以做到这一点,但我宁愿不打开 50 个 Access 数据库来手动转换每个数据库。

是否可以在 PowerShell 中执行此操作?只是重命名扩展就足够了,还是比这更复杂?

【问题讨论】:

仅仅改变文件扩展名肯定是不够的。看看您是否可以使用 PowerShell 中的 DBEngine.CompactDatabase Method。请注意,如果您的 ACCDB 包含 MDB 格式不支持的功能,则转换尝试可能会失败。 【参考方案1】:

只是重命名扩展就足够了,还是比这更复杂?

肯定不止这些。

以下代码似乎对我有用。它至少转换了表格。 .accdb 中有一个表单没有被复制到 .mdb,因此它可能具有旧文件格式不支持的属性(参考:Hans 对问题的评论)。

$Access = New-Object -com Access.Application
$Access.ConvertAccessProject(
        "C:\Users\Public\test\test.accdb", 
        "C:\Users\Public\test\test2000.mdb", 
        "acFileFormatAccess2000")
$Access.Quit()

【讨论】:

我得到了这个工作,但我不得不把 '$' 从 acFileFormatAccess2000 前面拿出来,我把它放在引号里。 @chrisdoubleu13 - 对,对不起。那行代码是一些早期尝试遗留下来的。我已经更新了我的答案。

以上是关于使用 PowerShell 将多个 .accdb 文件转换为 .mdb?的主要内容,如果未能解决你的问题,请参考以下文章

将多个巨大的 .accdb 文件合并为一个

访问 2007 - accdb;跨多个服务器建立可靠的多用户环境的选项?

Access环境下使用PowerShell执行SQL命令

使用 PYTHON 将 MDB 表导入 ACCDB

使用 PowerShell 将多个 CSV 文件合并为一个

我可以使用 .NET 将 ACCDB 文件转换为 MDB