Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Per Batch nach mehrere bestimmte Prozesse suchen???

Mitglied: takitano

takitano (Level 1) - Jetzt verbinden

27.01.2013, aktualisiert 19:27 Uhr, 2539 Aufrufe, 12 Kommentare

Normalerweise verwende ich dafür folgendes:

01.
echo Es wird nach Prozess gesucht. 
02.
echo --------------------------------------------- >> Berichte\MyLog.txt 
03.
echo %date% %time:~0,8% Die Suche nach Prozess wird gestartet. >> Berichte\MyLog.txt 
04.
echo --------------------------------------------- >> Berichte\MyLog.txt 
05.
qprocess | find /i "kies.exe"  > NUL: 1>&2 
06.
if errorlevel 1 goto :starten 
07.
echo Es wurde Prozess "kies.exe" gefunden. >> Berichte\MyLog.txt 
08.
:starten 
09.
echo Prozess "kies.exe" wurde nicht gefunden. >> Berichte\MyLog.txt
Was ist aber, wenn ich nach weitere 10-15 bestimmte Prozessen suchen will (sagen wir: notepad.exe, ccc.exe, word.exe, excel.exe usw.) und positive Ergebnisse zu jedem einzelnem in der Textdatei "MyLog.txt" speichern will bzw. wenn kein einziges Prozess gefunden wird, dass dort eine allegemeine Meldung "Es wurden keine Prozesse gefunden" gespeichert wird?

Eventuell könnten die Namen von Prozessen in einer txt-Datei gespeichert sein, um diese leicht zu editieren. Aber wie ich das organisiere?

Danke,
takeshi.
Mitglied: bastla
27.01.2013, aktualisiert um 20:41 Uhr
Hallo takitano!

Etwa so (ungetestet):
01.
set "Log=Berichte\MyLog.txt" 
02.
set Prozesse="kies.exe" "notepad.exe" "ccc.exe" "word.exe" "excel.exe" 
03.
set "Meldung=Es wurden keine Prozesse gefunden." 
04.
 
05.
echo Es wird nach Prozessen gesucht. 
06.
>>"%Log%" echo ----------------------------------------------- 
07.
>>"%Log%" echo %date% %time:~0,8% Die Suche nach Prozessen wird gestartet. 
08.
>>"%Log%" echo ----------------------------------------------- 
09.
(for %%i in (%Prozesse%) do ( 
10.
    qprocess | find /i %%i  > NUL: 1>&2 && ( 
11.
        echo Es wurde Prozess %%i gefunden. 
12.
        set "Meldung=" 
13.
    ) || ( 
14.
        echo Prozess %%i wurde nicht gefunden. 
15.
16.
))>>"%Log%" 
17.
if defined Meldung >>"%Log%" echo %Meldung%
Wenn Du die Prozesse aus einer Textdatei einlesen willst, etwa so:
01.
set "Log=Berichte\MyLog.txt" 
02.
set "Prozesse=D:\Prozessliste.txt" 
03.
set "Meldung=Es wurden keine Prozesse gefunden." 
04.
 
05.
echo Es wird nach Prozessen gesucht. 
06.
>>"%Log%" echo ----------------------------------------------- 
07.
>>"%Log%" echo %date% %time:~0,8% Die Suche nach Prozessen wird gestartet. 
08.
>>"%Log%" echo ----------------------------------------------- 
09.
(for /f "usebackq delims=" %%i in ("%Prozesse%") do ( 
10.
    qprocess | find /i "%%i"  > NUL: 1>&2 && ( 
11.
        echo Es wurde Prozess "%%i" gefunden. 
12.
        set "Meldung=" 
13.
    ) || ( 
14.
        echo Prozess "%%i" wurde nicht gefunden. 
15.
16.
))>>"%Log%" 
17.
if defined Meldung >>"%Log%" echo %Meldung%
Grüße
bastla
Bitte warten ..
Mitglied: takitano
28.01.2013 um 17:04 Uhr
Danke Bastla!
Bitte warten ..
Mitglied: takitano
29.01.2013, aktualisiert um 17:48 Uhr
Hallo Bastla,
kann man deinen Batch ein bisschen ändern? Ich habe mich falsch ausgedruckt - ich will nicht die nicht gefundene Prozesse in der Log-Datei einzeln auflisten, sondern nur allgemein dort schreiben, dass "Es wurden keine Prozessen gefunden". Dafür aber soll auch im CMD-Fenster die gleiche Nachricht kommen (momentan wird sie dort nicht angezeigt). Falls es aber ein Prozess gefunden wird, soll alles so bleiben wie es schon schön ist. Mein Problem - ich habe die Liste mit fast 100 Prozessen und brauche es doch nicht, die nicht gefundene Prozesse einzeln aufzulisten.
Bitte warten ..
Mitglied: bastla
29.01.2013 um 17:51 Uhr
Hallo takitano!
ich will nicht die nicht gefundene Prozesse in der Log-Datei einzeln auflisten, sondern nur allgemein dort schreiben, dass "Es wurden keine Prozessen gefunden"
Falls es aber ein Prozess gefunden wird, soll alles so bleiben wie es schon schön ist.
Hört sich etwas widersprüchlich an - was genau ist denn nun Dein Wunschergebnis (in Datei und im Fenster)?

Grüße
bastla
Bitte warten ..
Mitglied: takitano
29.01.2013, aktualisiert um 19:12 Uhr
1) Falls 1 oder mehrere Prozess vorhanden sind:
- im CMD-Fenster werden die gefundene Prozesse durch qprocess automatisch angezeigt. Dort braucht man nichts tun.
- in der Log-Datei werden sie dann namentlich aufgelistet - es funktoniert jetzt schon.

2) Falls gar keine Prozesse gefunden wurden:
- im CMD-Fenster möchte ich die entsprechende Meldung haben "Es wurden keine Prozesse gefunden". Momentan wird in diesem Fall da nichts angezeigt.
- in der Log-Datei steht momentan in diesem Fall folgendes:

Prozess 1 wurde nicht gefunden.
Prozess 2 wurde nicht gefunden.
...
Prozess 99 wurde nicht gefunden.
Es wurden keine Prozesse gefunden.

Ich will diese Auflistung von 99 einzelnen Prozessen nicht, sondern, dass dort nur die letzte Zeile steht: "Es wurden keine Prozesse gefunden."

Grüße,
Takeshi
Bitte warten ..
Mitglied: bastla
29.01.2013 um 19:20 Uhr
Hallo takitano!

Dazu musst Du ja eigentlich nur den "else"-Zweig (realisiert über "||") weglassen und am Ende die Bildschirmausgabe ergänzen, also etwa:
01.
set "Log=Berichte\MyLog.txt" 
02.
set "Prozesse=D:\Prozessliste.txt" 
03.
set "Meldung=Es wurden keine Prozesse gefunden." 
04.
 
05.
echo Es wird nach Prozessen gesucht. 
06.
>>"%Log%" echo ----------------------------------------------- 
07.
>>"%Log%" echo %date% %time:~0,8% Die Suche nach Prozessen wird gestartet. 
08.
>>"%Log%" echo ----------------------------------------------- 
09.
(for /f "usebackq delims=" %%i in ("%Prozesse%") do ( 
10.
    qprocess | find /i "%%i"  > NUL: 1>&2 && ( 
11.
        echo Es wurde Prozess "%%i" gefunden. 
12.
        set "Meldung=" 
13.
14.
))>>"%Log%" 
15.
if defined Meldung ( 
16.
    >>"%Log%" echo %Meldung% 
17.
    echo %Meldung% 
18.
)
Grüße
bastla
Bitte warten ..
Mitglied: takitano
30.01.2013, aktualisiert um 13:15 Uhr
Das hat gut geklappt! Vielen Dank, bastla!

Und noch eine letze Frage: ich starte der Script von einem USB-Stick auf verschiedenen Rechner. Standardgemäß werden dabei die Programme "qprocess" und "find" auf dem Rechner benutzt.

Was ist wenn diese Programme aber auf dem Rechner fehlen bzw. manipuliert sind (z.B. "sysinfo" funktioniert auf einem XP Home-Rechner nicht, da es dort fehlt)? Deswegen will ich die originale Programme "qprocess" und "find" im Verzeichnis "XY" auf dem USB-Stick haben und nur meine originale Programme aus diesem Verzeichnis benutzen.

Ich habe bis jetzt folgendes versucht:

01.
start XY\qprocess | XY\find /i
01.
start XY\qprocess | find /i 
01.
 XY\qprocess | XY\find /i
01.
start XY\qprocess | start XY\find /i
Es klappte aber nicht.
Bitte warten ..
Mitglied: bastla
30.01.2013 um 17:46 Uhr
Hallo takitano!

Ob die Programme überhaupt starten, musst Du selbst testen - versuchen könntest Du jedenfalls
%~d0\XY\qprocess | %~d0\XY\find /i
Grüße
bastla
Bitte warten ..
Mitglied: takitano
30.01.2013, aktualisiert um 18:03 Uhr
Danke. Ja, sie starten, Allerdings kommt dann xx Mal Fehlermeldung (entsprechend der Anzall von Zeilen im "Prozessliste.txt") im CMD-Fenster:

{Message(): LoadString failed, Error 15105, (0x00003B01)}
{Message(): LoadString failed, Error 15105, (0x00003B01)}
{Message(): LoadString failed, Error 15105, (0x00003B01)}
{Message(): LoadString failed, Error 15105, (0x00003B01)}
{Message(): LoadString failed, Error 15105, (0x00003B01)}
{Message(): LoadString failed, Error 15105, (0x00003B01)}
{Message(): LoadString failed, Error 15105, (0x00003B01)}

und am Ende 1 gefundener Prozess:
pc-takitano console 1 2820 dwm.exe

In der Log.txt-Datei steht aber alles richtig (ohne oben genannten Fehlermeldungen):

30.01.2013 17:50:19 Die Suche nach Prozessen wird gestartet
Es wurde Prozess "dwm.exe" gefunden.
Bitte warten ..
Mitglied: takitano
31.01.2013 um 03:43 Uhr
Hallo Bastla,

{Message(): LoadString failed, Error 15105, (0x00003B01)}

ist es möglich diese Meldung im CMD-Fenster irgendwie unterdrucken?
Bitte warten ..
Mitglied: bastla
31.01.2013 um 08:51 Uhr
Hallo takitano!

Wenn ein
%~d0\XY\qprocess 2>nul
nicht funktioniert, vermutlich nicht ...

Grüße
bastla
Bitte warten ..
Mitglied: takitano
31.01.2013, aktualisiert um 09:32 Uhr
Trotzdem - DANKE! Anstatt qprocess habe ich tasklist genommen. Jetzt funktioniert alles.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mit Batch ein bestimmtes Bild suchen
Frage von InvisibleQuantumBatch & Shell4 Kommentare

Hay, ich hoffe ihr könnt mir weiterhelfen Folgendes: Ich habe mehrere Ordner in denen verschiedene Dateien liegen, meistens .png ...

Batch & Shell
Batch zum suchen bestimmter Dateien
gelöst Frage von FurycanBatch & Shell2 Kommentare

Hallo zusammen, ich hoffe man kann mir hier helfen. Ich Suche ein Script das mir folgendes macht: In einem ...

Batch & Shell

Batch nach bestimmten Ordner suchen und diese zippen

gelöst Frage von windelterroristBatch & Shell3 Kommentare

Hallo! Ich stehe mit Batch gerade etwas an Bitte um Verständnis, wenn ich das ein oder andere falsch formuliere, ...

Batch & Shell

Skript soll warten bis bestimmte Prozess nicht mehr läuft

gelöst Frage von DaniBatch & Shell3 Kommentare

Guten Abend Kollegen, ich schreibe ein Powershellskript in dem ein Tool aufgerufen wird: Das Skript wartet leider nicht bis ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 StundeSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 10 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 22 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...