fibron Geschrieben 5. April 2010 Geschrieben 5. April 2010 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 Zitieren
tester2k5 Geschrieben 6. April 2010 Geschrieben 6. April 2010 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 Zitieren
fibron Geschrieben 6. April 2010 Autor Geschrieben 6. April 2010 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? Zitieren
lupo49 Geschrieben 6. April 2010 Geschrieben 6. April 2010 Was ist denn überhaupt dein Ziel? Nur die Gesamtspeichernutzung deines System auslesen? CodeSnip: Get memory size usage using WMI and .NET 2.0: ASP Alliance SCRIPT: Using WMI to determine memory usage by Virtual Server : VMblog.com - Virtualization Technology News and Information for Everyone Zitieren
fibron Geschrieben 13. April 2010 Autor Geschrieben 13. April 2010 (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 13. April 2010 von fibron geändert Zitieren
screama Geschrieben 13. April 2010 Geschrieben 13. April 2010 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... Zitieren
screama Geschrieben 13. April 2010 Geschrieben 13. April 2010 (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 Aber: Prozesse mit Leerzeichen im Namen werden nicht mitgezählt!!! Joa.... hoffe konnte helfen //EDIT: Problem mit Leerzeichen im Namen beseitigt... soooooo Bearbeitet 13. April 2010 von screama Zitieren
Empfohlene Beiträge
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.