vbs Script?
ich habe ein vbs script geschieben was mir Microsoft Word Exel etc öffnet ich würde gerne überprüfen lassen ob die programme offen sind wenn ja sollen die programme nicht geöffnet werden und das script soll sich schließen bzw wenn die programme offen sind ich den qode nochmals ausfüre die programme nicht ncheinmal geöffnet werden
quell qode:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("Excel")
WshShell.Run("OneNote")
WshShell.Run("Powerpoint")
WshShell.Run("Word")
WshShell.Run("MicrosoftTeams")
2 Antworten
Allein das ermitteln der Laufenden Prozesse in VBScript ist alles andere als nett:
getProcesses.vbs
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
sQuery = "SELECT * FROM Win32_Process"
Set objItems = objWMIService.ExecQuery(sQuery)
For Each objItem In objItems
WScript.Echo "Process [Name:" & objItem.Name & "]"
Next
..nö Vbscript sollte auf dem Friedhof der Programmiersprachen liegenbleiben...
Im guten alten Batch ist das obige eine Zeile.
tasklist /nh
Da ich nicht die Pfad zu Deinen Programmen kenne ( ich nutze LibreOffice), schreibe ich Dir nur eine Demo mit allgemein verfügbaren Programmen.
demo.cmd
@echo off
chcp 65001 >nul
rem liste gesucheten Prozess gefunden? positiv Meckern negativ starten
tasklist /fi "ImageName eq cmd.exe"|find /i "cmd.exe" >nul &&(echo cmd.exe läuft bereits) ||(start "" "C:\Windows\System32\cmd.exe")
tasklist /fi "ImageName eq notepad.exe"|find /i "notepad.exe" >nul &&(echo notepad.exe läuft bereits) ||(start "" "C:\Windows\notepad.exe")
rem du kannst auch auf die positivreaktion verzichten ;)
tasklist /fi "ImageName eq mshta.exe"|find /i "mshta.exe" >nul ||(start "" "mshta" "about:Hallo Welt")
pause
setze für deine Zwecke einfach Deine Programme und Pfade ein.
Glossar
...und warum machst Du nicht einfach eine Batch, welch Dir die gewünschten Programme startet?
RunMyApps.cmd
@echo off
start "" "lw:\Pfad\word.exe"
start "" "lw:\Pfad\exel.exe"
rem usw.
es soll als fix seien so dass wenn ich die vbs datei 2mal ausfüre nur einmal die programme starten