【发布时间】:2012-09-03 02:01:38
【问题描述】:
我对所有这些 VBS 东西都很陌生,因为基本上我需要做的就是制作一个我可能已经编写的简单 VBS 脚本,但是,我的问题是它给了我 800A0035 或 800A004C 错误当我在特定的 PC 上第一次执行它时,当我第二次执行它时,它运行得很好,并且做它应该做的事情。顺便说一句,在我自己的计算机上,即使在第一次执行时它也可以正常工作。
我知道这些错误与错误的路径有关,但我已经多次检查了我的脚本,我 100% 肯定它们是正确的。
这是脚本:
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "rar.bat" , "rarp.bat"
'HideBat.vbs
CreateObject("Wscript.Shell").Run "rarp.bat", 0, True
脚本应该做的是将rar.bat 文件重命名为rarp.bat 并运行该批处理文件(rarp.bat)而不弹出命令提示符。我猜批处理文件的作用无关紧要,但无论如何,它只是运行 WinRAR。
rar.bat 文件和 VBS 脚本在同一个文件夹中,这就是我在脚本中使用相对路径的原因。我不能使用绝对路径,因为我需要在多台计算机上运行脚本。
我在互联网上的某处读到,默认情况下,VBS 脚本在使用相对路径时首先查找 C:\Windows\System32 中的文件。我什至尝试在脚本中使用绝对路径,但也没有用。以下是我需要它们的样子:%systemdrive%\users\%username%\appdata\roaming\rar.bat 但这在 VBS 脚本中根本不起作用。
我真的认为我需要的是一个简单的脚本,但显然很难让它正常工作。我会非常感谢那些帮助我的人。
非常感谢您。
问候。
【问题讨论】:
-
对于 8nnnnnnn 错误,请尝试注销然后重新注册这些文件:
CSCRIPT.EXE, JSCRIPT.DLL, MSSCRIPT.OCX, SCRIPTLE.DLL, VBSCRIPT.DLL, WSCRIPT.EXE, WSHOM.OCX -
好吧,感谢您的建议,但我是 VBS 脚本的初学者。请告诉我如何注销和重新注册这些文件?
-
使用
regsvr32 /u {the filename}取消注册并使用regsvr32 {filename}注册。从命令提示符和 Windows 的SYSTEM32目录运行。 -
好的,我明白你的意思,但我需要先运行 VBS 脚本,之前不运行任何其他脚本。是否可以通过 VBS 脚本注册和注销这些文件?提前致谢。
-
我认为这不是由于 Windows 注册表损坏,因为我的问题发生在除我之外的所有其他计算机上。我已经尝试在至少九台不同的计算机上运行它。请问您还有什么建议吗?在 VBS 脚本中实现“GetParentFolder”怎么样?告诉脚本“far.bat”与VBS脚本本身位于同一文件夹中是否有帮助?
标签: vbscript path runtime-error wsh