1

バッチ ファイル用に作成した vbs スクリプトをエンド ユーザー用の 1 つの .exe に結合して、それにアイコンを割り当てることができるようにしたいと考えています。Webで方法を探していますが、有用なものが見つかりません。

この vbs スクリプトを結合したい:

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "cmd /c CheckIn.bat"
oShell.Run strArgs, 0, false

このバッチ ファイルを使用すると、次のようになります。

@echo off

REM A message to ask the user to save their Outlook emails they have open

mshta javascript:alert("Please be sure to save any emails that you need in Outlook. Click OK to continue.");close();

REM This will stop DM, Email Marker, Email Filer, Interceptor, Papihost, and Outlook.
taskkill /IM DM.exe /F
taskkill /IM DMMarkEmail.exe /F
taskkill /IM EmailAutoBulkFiling.exe /F
taskkill /IM Interceptor.exe /F
taskkill /IM OUTLOOK.EXE /F
taskkill /IM PAPIHost.exe /F

REM This will delete the DM cache in Appdata under the current user
RMDIR /s /q "%userprofile%\Appdata\Roaming\OpenText\DM\Cache"

REM This will start all of the programs that were closed

REM DM and Interceptor restart when Outlook starts back up
START OUTLOOK.EXE

REM Commenting the Marker and Filer since some users don't want it

REM START DMMarkemail.exe
REM START Email AutoBulkFiling.exe
REM START "C:\Program Files\Open Text\DM Extensions\DM.exe"
REM START "C:\Program Files\Open Text\DM Extensions\Interceptor.exe"
REM START PAPIHost.exe
@echo off

現時点で私を逃れている簡単な方法があるかどうかはわかりません。フィードバックをお寄せいただきありがとうございます。

4

1 に答える 1

1

/f なしで taskkill を送信すると、通常のクローズのようになります。ユーザーは、電子メールを保存するように求められます。後で /f を付けて送信し、強制的に閉じることができます。

目的を達成する 1 つの方法は、バッチ コマンドを vbs oShell.Run コマンドに入れることです。コマンドを実行する前にコマンドを変数に入れる必要はなく、コードが混乱します。

例えば

oShell.Run "taskkill /IM DM.exe /F", 0, false

次に、exeに変換する方法に関するこの投稿を参照してください

VBScript を実行可能 (EXE) ファイルに変換するにはどうすればよいですか?

PS: スクリプトをスクリプト コントロールで実行するのではなく、vb.net プログラムとして直接実行できるはずです。vb.net ヘッダーとフッターを入れるだけです。

于 2013-10-31T01:51:45.653 に答える