- ベストアンサー
特定のプロセスが実行中か調べるスクリプトの書き方
WindosでPowerShellやWSHやDOSコマンドなどありますが 2008 サーバーで一般的なスクリプトを書くには何を使えば良いでしょうか? 書きたいスクリプトは、ある.NETのプログラムAがあり、 Aが実行(常駐)とうかプロセスがない場合は実行され、 プロセスがある場合は実行しないというスクリプトを書きたいです。 どのように作ればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サンプルを作りました。 拡張子をvbsにして実行してみてください。 うまく動くかわかりませんが。 プロセス名はわかりますか? wmiで検索してみてください Option Explicit Dim objWShell Set objWShell = CreateObject("WScript.Shell") Private Const PROCESS = _ "SELECT * FROM Win32_Process WHERE Name = 'EXCEL.EXE'" Private Const TARGETPC = "winmgmts:" Call ProcessMonitoring() Sub ProcessMonitoring() Do Dim Wmi, ProcQuery Set Wmi = GetObject(TARGETPC) Do Set ProcQuery = Wmi.ExecQuery(PROCESS) Loop While ProcQuery.Count > 0 objWShell.Run "excel.exe" Loop End Sub
その他の回答 (1)
- SHIMAPEE
- ベストアンサー率75% (154/203)
PowerShellを勉強中の者です。 PowerShellだとこんな感じでしょうか。Win XPとVistaで試しました。 拡張子 ps1 が実行できる環境で。 ----- $temp = Get-Process | where {$_.ProcessName -eq "notepad"} if ($temp -eq $null) {Invoke-Item "C:\WINDOWS\notepad.exe"} else {Write-Host "起動されています。"} -----