Jump to content

Batch - Befehl


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi Leutz,

 

ihr habt ja ein super Forum hier! Ich beobachte euch schon seit ein einiger Zeit und hab auch schon so manches Problem mit euerer Hilfe lösen können.

Nun hab ich aber auch mal eine Frage: Kann man mit Hilfe einer Batch Datei ein Programm, wie z. B. Outlook, schliessen? Hintergrund ist, dass ein persönlicher Ordner auf einem Notebook wöchentlich aufs Netz gesichert werden soll. Dies soll so einfach wie möglich gestaltet werden.

 

Vielleicht habt ihr ja noch eine andere Idee, wie man das lösen kann?!

 

Gruß

 

Jucyfruit

Link zu diesem Kommentar

Zum Thema:

Man kann mittels *.vbs - Script jedes beliebige Programm killen, auch ferngesteuert, wenn man auf dem Zielsystem die nötigen Rechte hat.

 

Code folgt noch!

 

Hier der Passende Code, der das Program Notepad erst öffnet und dann wieder Schließt:

(Aus MS Press: Scripting für Administratoren, ISBN 3-86063-633-2)

 

Set programm = StartProgram("NOTEPAD.EXE")
WScript.Echo programm.getObjectText_
MsgBox "Nun schließe ich das Programm wieder!", vbSystemModal
programm.Terminate

Function StartProgram(path)
  Set StartProgram = Nothing
  Set wmi = GetObject("winmgmts:")

  Set prgclass = wmi.Get("win32_process")
  prgclass.Create Path, null, null, procID
  wql = "select * from win32_process where processID = " & procID
  Set result = wmi.ExecQuery(wql)
  For each process in result
     Set StartProgram = process
     Exit For
  Next
End Function

 

Diesen Code anpassen und als *,vbs speichern...

Link zu diesem Kommentar

Noch mehr zum Thema VB-Scripte:

 

Das folgende Script schliesst ohne Nachfrage alle Instanzen des Editors Notepad.exe.

Also nur noch den Programmnamen anpassen, und als vbs speichern:

 

Set wmi = GetObject("winmgmts:")

wql = "select * from win32_process where name='notepad.exe'"
Set result = wmi.ExecQuery(wql)

zaehler = 0
For each process in result
  zaehler = zaehler + 1
  process.Terminate 0
Next

MsgBox zaehler & " Instanzen von Notepad geschlossen.", vbInformation

(Ebenfalls aus dem o.g. Buch)

Link zu diesem Kommentar
Terminate a Process

 

Description

Terminates any running instances of outlook.exe.

 

Script Code

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _

("Select * from Win32_Process Where Name = 'Outlook.exe'")

For Each objProcess in colProcessList

objProcess.Terminate()

Next

 

 

The System Administration Scripting Guide, part of the Windows .NET Server Resource Kit. For more information, contact scripter@microsoft.com.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...