首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅在脚本第一次执行时VBS脚本(VBScript)错误800A0035和/或800A004C

仅在脚本第一次执行时VBS脚本(VBScript)错误800A0035和/或800A004C
EN

Stack Overflow用户
提问于 2012-09-01 11:35:01
回答 1查看 7.5K关注 0票数 0

我对所有这些VBS都很陌生,因为基本上我所需要做的就是制作一个简单的VBS脚本,我可能已经编写了这个脚本,但是,我的问题是,当我第一次在特定的PC上执行它时,它会给我800A0035800A004C错误,当我第二次执行它时,它就会正常运行,并做它应该做的事情。顺便说一句,在我自己的计算机上,即使在第一次执行时,它也能正常工作。我知道这些错误与错误的路径有关,但是我已经检查了我的脚本几次,并且我百分之百地肯定它们是正确的。

下面是脚本:

代码语言:javascript
复制
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脚本中根本行不通。

我真的认为我需要的是一个简单的脚本,但很明显,要使它正常工作是相当困难的。我将非常感谢那些帮助我的人。

提前谢谢你。

致以问候。

EN

回答 1

Stack Overflow用户

发布于 2012-09-01 22:08:27

您的脚本--至少是发布的部分--唯一能给出错误的方法就是找不到重命名的源文件,您应该添加完整的脚本和错误消息来确保。我想这是由你的个人电脑上的安全设置引起的,它比其他电脑的安全设置更宽容(如UAC )。在另一台pc上,尝试将文件放在c:\test这样的映射中,然后在检查文件rar.bat是否存在于同一映射后再次运行它。您是否在其他pc上拥有相同的凭据(管理员)?如果您只想运行隐藏的bat文件,为什么要重命名?

你是怎么下载蝙蝠的?然后如何调用脚本呢?可能是第二次不再是问题的时间问题。在这种情况下,请在脚本中签入该文件是否已就绪,并在不准备的情况下在循环中进行睡眠。

如果您想使用绝对路径,可以尝试以下操作

代码语言:javascript
复制
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("PROCESS")
path = WshSysEnv("USERPROFILE") & "\appdata\roaming\rar.bat"
wscript.echo path
objFSO.MoveFile path , "rarp.bat"
CreateObject("Wscript.Shell").Run "rarp.bat", 1, True
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12227370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档