我环顾四周,似乎无法将其与我所做的研究结合起来。
我要创建一个GPO以应用于将从给定系统卸载Malwarebytes 2.0和3.0的工作站。这将允许我们推出企业版。
我的.bat文件中包含的内容是:
@echo off
cd "C:\Program Files (x86)\Malwarebytes Anti-malware\"
unins000.exe /verysilent /suppressmsgboxes /norestart
cd "C:\Program Files\Malwarebytes\Anti-Malware\"
unins000.exe /verysilent /suppressmsgboxes /norestart
但是,我注意到如果上面的一个路径没有退出(1将永远不存在),则会弹出一个带错误的命令提示符。如果可能的话,我根本不想弹出任何盒子。然后,我尝试使用带有错误的vbs完成此操作:
编译错误:字符无效
这是脚本:
Dim objShell
Set objShell = WScript.CreateObject( WScript.Shell )
Sub MalwareBytes()
On Error Resume Next
objShell.Run(%ProgramFiles%Malwarebytes Anti-malwareunins000.exe verysilent
suppressmsgboxes norestart)
objShell.Run(%ProgramFiles(x86)%MalwarebytesAnti-Malwareunins000.exe
verysilent suppressmsgboxes norestart)
End Sub
Set objShell = Nothing
答案 0 :(得分:2)
如果在尝试去那里之前路径确实存在,那么,检查怎么样?
if exist "C:\Program Files (x86)\Malwarebytes Anti-malware" (
cd "C:\Program Files (x86)\Malwarebytes Anti-malware"
unins000.exe /verysilent /suppressmsgboxes /norestart
)
您的VBScript不起作用的原因是您的语法无效。您需要围绕CreateObject()
的参数以及命令字符串使用双引号。对于后者,使用嵌套双引号,因为您有包含空格的路径。更不用说检查VBScript中是否实际存在路径会更清晰。