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???

Frage Entwicklung Batch & Shell

Mitglied: takitano

takitano (Level 1) - Jetzt verbinden

27.01.2013, aktualisiert 19:27 Uhr, 2522 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
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 14 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 17 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...