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
我创建了一个登录脚本来自动为 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