Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo an alle in diesem Forum.

Benötige wieder eure Hilfe, bin halt noch ein Anfänger.

Es geht um Folgendes: in einem Script werden laufende Prozesse aufgelistet und in Text-Datei umgeleitet. Sowei funktioniert es. Zu jedem Prozess wird auch die Speicherbelegung dargestellt.

Problem: wie bringe ich die Batch dazu, die Gesamtspeichernutzung am Ende zu berechnen und auszugeben?

Ist dies überhaupt möglich (rechnen)?

@echo off

echo.

echo Prozesse werden aufgelistet und

echo in "Prozessliste.txt" gespeichert

echo.

echo.

pause

echo %date% > prozessliste.txt

echo %time% >> prozessliste.txt

tasklist >> prozessliste.txt

echo. >> prozessliste.txt

echo ------------------------------------Ende--------------------------------------- >> Prozessliste.txt

echo.

ende

Geschrieben

Generell kann eine Batch-Datei mit "SET /A" begrenzt rechnen, aber selbst wenn du die Prozessliste mit "TASKLIST /FO CSV" ausgibst und in einer "FOR"-Schleife bearbeitest, müsstest du noch die "quotes" und die Speichernutzungs-Einheitsangabe ("K") entfernen...

Ich denke mit VBScript kommst du da schneller zum Ziel.

Gruss,

tester2k5

Geschrieben

Dachte nicht, dass es so kompliziert sein wird.

Und mit VBScript kenne ich mich überhaupt nicht aus.

Ich glaube, ich werde es lassen müssen, es seiden, gibt's doch noch eine andere Lösung mit Batch?

Geschrieben (bearbeitet)

Ich möchte die Gesamtspeicherbelegung des PC's auswerten, am besten mithilfe einer Batch-Datei.

Ideen?

Danke für die Links, aber die brigen mich nicht weiter.

Bearbeitet von fibron
geändert
Geschrieben

Mit folgendem Befehl kriegste (zumindest unter Windows7) nur die Speicherbelegungen ausgegeben:

CMD /V /C "FOR /F "skip=2 tokens=5 usebackq" %i IN (`tasklist /NH`) DO SET ZAHL=%i && ECHO !ZAHL:.=!"

Dieser Befehl gibt dir die Zahlen aus... ohne Punkte, Namen oder sonstigem unbenötigten Kram.

Nur noch zusammenzählen... :D

Geschrieben (bearbeitet)

Hach, Ändern nur innerhalb von 15 Minuten.....

Nimm den Befehl hier:

CMD /V /C "FOR /F "delims=, tokens=5 usebackq" %i IN (`tasklist /FO CSV`) DO SET TEMPZAHL1=%i && SET TEMPZAHL2=!TEMPZAHL1:.=! && SET TEMPZAHL3=!TEMPZAHL2: K=! && SET /A RAMWERT+=!TEMPZAHL3!/1024 && CLS && ECHO !RAMWERT!>C:\RAM.TXT"

Der Befehl schreibt dir in die Datei C:\RAM.TXT den aktuell verwendeten Speicher in MB (wenns KB sein solln einfach das "/1024" raushauen). Das Problem bei der Sache ist, dass er für jeden Prozess die Datei neu erstellt.... aber der Endwert stimmt. Da sag nochmal einer, dass man mit Batch nix anfangen kann :P

Aber: Prozesse mit Leerzeichen im Namen werden nicht mitgezählt!!!

Joa.... hoffe konnte helfen :)

//EDIT: Problem mit Leerzeichen im Namen beseitigt... soooooo :D

Bearbeitet von screama

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...