脚本可以在本地计算机上运行,但不能远程运行。任何的想法? 我收到VBScript运行时错误“ActiveX组件无法创建对象:XStandard.MD5”。
strSource = "C:\WINNT"
Set objFSO = CreateObject(Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strSource)
Set colfiles = objFolder.Files
For each file in colfiles
Set objMD5 = CreateObject("XStandard.MD5")
答案 0 :(得分:2)
转到DLL文件夹并在命令提示符>中使用regsrv32 XMD35.dll
答案 1 :(得分:1)
如果要指示远程计算机实例化给定的ActiveX对象,则需要在调用CreateObject(progID, [serverName])
函数时指定远程服务器的名称。
否则,脚本引擎会尝试从本地计算机实例化对象。
例如:
Set objMD5 = CreateObject("XStandard.MD5", nameOfYourServer)
当然,该组件必须在服务器上可用。
有关MSDN <{3}}的更多信息
答案 2 :(得分:1)
我不知道它是否与第2行的语法有关。你缺少一个开放的引用。你有:
Set objFSO = CreateObject(Scripting.FileSystemObject")
你应该:
Set objFSO = CreateObject("Scripting.FileSystemObject")
答案 3 :(得分:1)
我意识到这是一个老问题,但谷歌发送给我同样的问题。在我的例子中,这是一个32位与64位的问题 - 我需要使用32位版本的CScript来执行。
答案 4 :(得分:1)
XStandard.MD5是所有计算机中不标准的组件。它是需要安装的东西。但是,即使安装后您仍可能遇到相同的错误。这可能是因为您在64位系统中运行脚本。由于某种原因,64位wscript将不会使用xmd5.dll。但是,您可以通过将脚本文件关联以在32位版本的wscript上运行来制定解决方法。通过
然后点击 vbs ,然后点击更改程序,将其更改为
C:\ Windows \ SysWow64 \ Wscript.exe
仅限64BIT注意
答案 5 :(得分:0)
正如dmogle在评论中所说,您需要确保该组件已安装在远程计算机上。假设您有权访问该计算机,请将dll下载到该计算机,然后运行命令regsvr32 XMD5.dll
,如here所示。
另一方面,你的剧本看起来有点滑稽,最后几行是:
For each file in colfiles
Set objMD5 = CreateObject("XStandard.MD5")
这意味着您将为每个文件创建MD5对象的实例。我从来没有使用过有问题的组件,但我很确定你可能只想创建一个对象实例,然后多次调用该对象上的函数。所以我建议将这些行的顺序改为:
Set objMD5 = CreateObject("XStandard.MD5")
For each file in colfiles