Hallo,
kennt Jemand ein Tool für die Kommandozeile, mit dem ich die größten Platzverschwender finde?
Rumak18 (9.303) ![]() 102x Beste Antwort 218x "Danke"
|
Rumak18 (9.303) ![]() 102x Beste Antwort 218x "Danke"
|
Hallo,
kennt Jemand ein Tool für die Kommandozeile, mit dem ich die größten Platzverschwender finde?
Findet google dazu nichts?
Ich würde TuneUp Utilitys 2009 herunterladen. Das kann man 30 Tage uneingeschränkt nutzen und in diesem Programmpaket gibt es das Tool TuneUp Disk Space Explorer. Dieser zeigt dir sehr schön an wie groß was ist und sortiert Pfad für Pfad auf welcher Ordner/ Datei die größten Speicherfresser sind.
Ich glaube, das weiß er schon. Was er sucht, ist ein Befehl in der Kommandozeile, also etwa so wie
%SystemRoot%\system32\diskmgmt.msc /s
Das öffnet die Datenträgerverwaltung.
Aber zur Speicherbelegung von einzelnen Programmen oder Ordnern gibt es glaube ich keinen direkten Befehl.
Nettes Programm dazu: TreeSize-Free
C.
Soo.. habe nun eine eigene Lösung mit dem Tool disksum.exe erstrickt.
@sebnator und idefix : Das ist natürlich nicht wirklich das, was ich gesucht habe.
Hier meine Lösung:
Man lade sich das Tool disksum. Erstellt eine result.log im gleichen Verzeichnis und erstellt sich ein Batch File, ebenfalls im gleichen Ordner, mit folgendem Inhalt:
@echo off
REM Dieses Script prüft eine Partition auf die größten Verzeichnisse.
@echo Bitte die zu überprüfende Partition angeben (C,D,E....)
set /p X=
set AKT_VERZEICHNIS="%cd%"
xcopy /E /H /R /K /Y disksum.exe %X%:\
xcopy /E /H /R /K /Y result.log %X%:\
cd %X%:\
%X%:\disksum.exe > %X%:\result.log
type %X%:\result.log > %AKT_VERZEICHNIS%\result.log
del %X%:\result.log
del %X%:\disksum.exe
rd runtime
Irgendwie habe ich wohl Matsch auf den Augen.
Was passiert, wenn du als Laufwerk C: eingibst?
Wann wird das Verzeichnis "runtime" erstellt?
Wieso ist es egal, auf was der prompt gerade zeigt?
Der CD-Befehl ist syntaktisch falsch. M.E. müsste das heissen:
%X%:
cd \
Irgendwie habe ich wohl Matsch auf den Augen.Das kann ich von hier aus nicht beurteilen

Was passiert, wenn du als Laufwerk C: eingibst?Dann wird die Variable X gleich "c" gesetzt. Ich gebe übrigens "c" nicht "c:" ein.
Wann wird das Verzeichnis "runtime" erstellt?Das Verzeichnis runtime wird von disksum bei jeder Ausführung erstellt, auch wenn mir noch nicht klar ist wofür.
Wieso ist es egal, auf was der prompt gerade zeigt?Weil sich das Batch File mit dem Inhalt zu Beginn im gleichen Verzeichnis befindet, wie die disksum.exe und result.log. Und von hier aus, (Egal wo) rufe ich meine Batch Datei auf.
Der CD-Befehl ist syntaktisch falsch. M.E. müsste das heissen:Nein ist er nicht. Bei X handelt es sich ja um eine Variable. In deinem Beispiel um c. Man könnte es aber natürlich auch mit "cd \" in dieser einen Zeile machen.
%X%:
cd \
Also okay. Ich habe Matsch auf den Augen. 
Aber das mit dem CD-Befehl funzt bei mir nicht:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Dokumente und Einstellungen\User>set /p x=
c
C:\Dokumente und Einstellungen\User>cd %X%:\
C:\>set /p x=
d
C:\>cd %X%:\
C:\>%X%:
D:\>
Hmmm..... das Script funktioniert, aber anscheinend nur für die C Partition. Habe es gerade mit "D" probiert und da scheiterts bei mir genauso wie bei dir..... wenn ich Zeit habe, kann ich mir das genauer ansehen.
M.E. müsste es so aussehen:
@echo off
REM Dieses Script prüft eine Partition auf die größten Verzeichnisse.
@echo Bitte die zu überprüfende Partition angeben (C,D,E....)
set /p X=
set AKT_VERZEICHNIS="%cd%"
xcopy /E /H /R /K /Y disksum.exe %X%:\
xcopy /E /H /R /K /Y result.log %X%:\
%X%:
cd \
%X%:\disksum.exe > %X%:\result.log
type %X%:\result.log > %AKT_VERZEICHNIS%\result.log
del %X%:\result.log
del %X%:\disksum.exe
rd runtime
Die einzige Möglichkeit, die mir momentan einfällt, ist der EDT, den ich noch vom BS2000 her kenne.
Den gibt es mittlerweile als EDTW (kostenpflichtig) auch für Windows: http://www.opg.de/produkte/opgcom.html
Das ist der mächtigste Dateibearbeiter, den ich kenne. Ich sage einfach mal, dass der alles kann, was auch immer man mit einer Datei anstellen will. Solange es sich nicht um Binärdateien handelt.
Das dauert aber etwas.
Ich melde mich wieder.
Es ist mir schon klar, dass das Programm für diese Aufgabe zu teuer ist. Andererseits darf man es ja auch erst mal testen. Und diese Art von Bereinigung macht man ja auch nicht ständig.
Hier der Aufruf des Programms aus einer .bat:
c:\programme\opg\edtw\edtw.exe -i rumak.proc.txt
Hier der Inhalt der Datei rumak.proc.txt, die den Ablauf steuert:
@read'c:\temp\rumak.txt'
@pro2
@@proc
@@on!:1-30:f'('
@@if.true.goto lab02
@@d!
@@goto lab99
@@:lab02
@@on!:30-30:f'('
@@if.t.goto lab99
@@pre!w'0'
@@goto lab02
@@:lab99
@end
@pro3
@@proc
@@:lab02
@@on!:1-1:f'0'
@@if.f.goto lab99
@@d!:1-1
@@goto lab02
@@:lab99
@end
@do2!=1,$
@sort d
@do3!=1,$
@write'c:\temp\rumak.result.txt'o
@halt
@proc
/* suche in Spalte 1-30 der akt. Zeile nach '(' */
@on!:1-30:f'('
/* Wenn gefunden gehe zu lab02 */
@if.true.goto lab02
/* lösche die akt. Zeile (weil sie nicht zum Ergebnis gehört) */
@d!
/* Und weiter mit der nächsten Zeile, falls vorhanden */
@goto lab99
@:lab02
/* Suche in Spalte 30 nach "(" */
@on!:30-30:f'('
/* wenn gefunden weiter mit nächster Zeile */
@if.t.goto lab99
/* Für den Sort führende Null einfügen */
@pre!w'0'
/* Und das alles so lange, bis die "(" in Spalte 30 angekommen ist */
@goto lab02
@:lab99/* Der Aufruf führt die Prozedurebene 2 aus,
wobei ! eine Variable ist, die nacheinander den Wert 1, 2, 3,...
bis zur höchsten Zeilennummer ($) annimmt. Implizite Schrittweite ist 1 */
@do2!=1,$
/* Sortierung d=absteigend */
@sort d
/* Führende Nullen wieder rauswerfen */
@do3!=1,$
@write'c:\temp\rumak.result.txt'o
@halt
| « Win XP: Bildschirm bleibt nach dem Hochfahren schwarz | Windows XP: die resolution notice tritt stets bei spielen wie age of empire oder » | ||