我对所有这些VBS内容都很陌生,因为基本上所有我需要做的就是创建一个简单的VBS脚本,我可能已经写过,但是,我的问题是它给了我800A0035
或{{ 1}}当我第一次在特定PC上执行它时出错,一旦我第二次执行它,它就运行正常并完成应该做的事情。顺便说一句,在我自己的计算机上,即使在第一次执行时也能正常工作。
我知道这些错误与错误的路径有关但我已经多次检查过我的脚本而且我100%肯定它们是正确的。
这是脚本:
800A004C
脚本应该做的是将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
)而不弹出命令提示符。我想,批处理文件的作用与此无关,但无论如何,它只运行 WinRAR 。
rarp.bat
文件和VBS脚本位于同一文件夹中,这就是我在脚本中使用相对路径的原因。我不能使用绝对路径,因为我需要在几台计算机上运行脚本。
我在互联网上的某个地方读到,默认情况下,当使用相对路径时,VBS脚本首先在rar.bat
中查找文件。我甚至尝试在脚本中使用绝对路径,但它也不起作用。以下是我需要它们的样子:C:\Windows\System32
但这在VBS脚本中不起作用。
我真的认为我需要的是一个简单的脚本,但显然很难让它正常工作。我将非常感谢那些帮助我的人。
提前多多谢谢你。
问候。
答案 0 :(得分:1)
您的脚本(至少发布的部分)可以发出错误的唯一方法是找不到重命名的源文件,您应该添加完整的脚本和错误消息以确保。 我想这是由你的电脑上的安全设置比其他电脑更安全,例如UAC吗?在另一台PC上,尝试将文件放在像c:\ test这样的映射中,然后在检查文件rar.bat确实存在于同一个映射中后再次运行它。你在其他电脑上有相同的凭据(管理员)吗? 如果你只想隐藏bat文件,为什么要重命名?
你怎么下载蝙蝠?然后如何调用脚本?可能是第二次不再是问题的时间问题。在这种情况下,如果文件已经存在,请检查脚本并在循环中进行休眠,而不是
如果你想使用绝对路径,你可以试试这个
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