Set/adjust 使用 VBscript 的 rtf 文件的文件版本

Set/adjust file version of a rtf-file with VBscript

我创建了一个登录脚本来自动为 Outlook 创建电子邮件签名。此脚本创建以下文件 "C:\Users\%username%\AppData\Roaming\Microsoft\Signatures\Default_signature.rtf"

我想给这个文件添加一个版本号,这样我就可以检查是否需要更新这个文件。如果没有,退出登录脚本。否则使用更高版本号更新签名。

要获得版本号很容易找到,但我找不到如何使用 VBscript set/change 版本号。

使用 DSOFile.OleDocumentProperties 对我不起作用。我一直收到 ActiveX 错误 "Can't create object"。可能是我必须注册 dsofile.dll 在系统中,但此代码必须适用于我们公司的每个用户,我不想在使用此登录脚本之前在每个设备上安装此代码。

'Code for requesting versionnumber    
Set objFSO = CreateObject("Scripting.FileSystemObject")
    file = "C:\Users\%username%\AppData\Roaming\Microsoft\Signatures\Default_signature.rtf"
    Wscript.Echo "Version = " & objFSO.GetFileVersion(file)

我希望有人能告诉我该怎么做:)

据我所知,DSO 是 Microsoft 唯一支持的无需重写文件即可更改文件属性的方法。 Excel 有一些 VBA 脚本,但这不适用于你使用 RTF 的情况。

但是,我可以建议一个不同的选择吗?我在我的基础架构中有一个脚本,该脚本在每次登录时放置到 运行 并检查共享某个文件的最后修改日期。如果机器上的文件较旧,则它会被共享上的文件替换。

 Dim objFSO, strFileName

    strFileName = "C:\Users\user\Desktop\Tests\fdsfsd.rtf"

    Set objFSO = CreateObject( "Scripting.FileSystemObject" )

    WScript.Echo objFSO.GetFile( strFileName ).DateLastModified

    Set objFSO = Nothing