2017-03-13 7 views
1

私は周りを見回しました。.BATファイルのヘルプ(サイレントに2つのパスをアンインストールしてください)

私は、特定のシステムからMalwarebytes 2.0と3.0をアンインストールするワークステーションに適用するためにGPOを作成します。これによりエンタープライズ版を公開することができます。

は私が私の.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が常に存在しません)上記のパスの場合は、1つが終了しないことに気づきましたコマンドプロンプトでエラーが発生しました。可能であれば、ボックスが一切表示されないようにしたいと思います。私は、エラーとVBSでこれを実現しようとした:

compilation error: Invalid character

これがそのスクリプトです:パスが実際に行くことにしようとする前に存在している場合

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 

答えて

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にも実際に存在するかどうかを確認する方がクリーンです。

+1

ありがとうございます!私は "存在すれば"ただの学習しか知らなかった。感謝します! –

+0

質問に答えた場合は「回答済み」と記入してください。 2分の[ツアー]を取ってください。それはどのようにそれを行うかを示しています(グレーのチェックマークをクリックします)。 :-) –

+1

完了、thanks T.Heron。これはソリューションであり、フォーマットを改善するだけです。 :)皆の助けを感謝し、私が専門家になれば他人を助けることを楽しみにしています。 –

関連する問題