'********************************************************* '*/// 不要なプロセスを停止するスクリプト /// * '********************************************************* '* 【ファイル名】stoprocess.vbs * '* 【作 成 者】秋月らせん(akiduki rasenn) * '* 【動 作 環境】Windows 2000/XP * '* 【作 成 日】2006/12/15 * '* 【ね ら い】任意の起動するプロセスを簡単に停止 * '********************************************************* 'デバック用おまじない Option Explicit '変数宣言 Dim strTextFile, strComputer, strTextAll Dim Fs Dim objTextFile, objWMIService, colProcessList, objProcess '///////////////////////////////////////////////////////// '■停止プロセス定義ファイルの読み込み(「判る人」用) '///////////////////////////////////////////////////////// '読み込むファイルがスクリプトと同じフォルダ内にある設定(パターンA) strTextFile = ("stoprocess.ini") '読み込むファイルが存在する場所をフルパスで指定(パターンB) 'strTextFile = ("d:\vbs\stoprocess.ini") '開くファイル名を引数から取得するなら次の構文を使用する。(パターンC) 'strTextFile = WScript.Arguments(0) '尚書式はコマンドプロンプトから、d:\vbs>stoprocess.vbs stoprocess.ini 'こちらは上級者向け。bat処理にvbsを組み込みたい場合などにご利用下さい。 'デフォルトではパターンAを有効にし、BとCをコメントアウトしています。 '///////////////////////////////////////////////////////// '■メインプログラム(ここから下は触らないで下さい) '///////////////////////////////////////////////////////// 'スクリプトを実行する場所を定義。 strComputer = "." Set Fs = WScript.CreateObject("Scripting.FileSystemObject") 'ファイルの存在確認 if Fs.FileExists(strTextFile) then '存在していればファイルを開く set objTextFile = Fs.OpenTextFile(strTextFile,1) 'ファイルの最後までループ do until objTextFile.AtEndOfStream '1行読み込み strTextAll = objTextFile.Readline '#で始まる行は読み込まない if left(strTextAll, 1) <> "#" then '///プログラム開始 Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = '" & strTextAll & "'") For Each objProcess in colProcessList objProcess.Terminate() Next '///プログラム終了 end if loop 'オブジェクトの開放 objTextFile.Close set objTextFile = nothing set Fs = nothing else msgbox "停止対象を記載したファイルが見つかりません。" 'オブジェクトの開放 set Fs = nothing end if