Ordnergrösse und , oder Anzahl der Dateien per Batch , VB auslesen

90776
Goto Top
Hallo

Wie der Titiel schon sagt suche ich eine Möglichkeit die Ordnergrösse und , oder Anzahl der Dateien auszulesen.

Hintergrund:
Robocopy mit der anzeige

???MB von ???MB kopiert
oder
??? Dateien von ??? Dateien kopiert

Dank und Gruss
Switcher

Content-Key: 146169

Url: https://administrator.de/contentid/146169

Ausgedruckt am: 19.08.2022 um 19:08 Uhr

Mitglied: kkboy94
kkboy94 04.07.2010 um 13:01:07 Uhr
Goto Top
Also ein Script um die Ordnergröße auszulesen, hat Biber oder bastla (weiß ich nicht mehr genau) geschrieben:

Und mit Robocopy bin ich überfragt, damit hab ich mich noch nie beschäftigt. Aber ich kann mir vorstellen, dass man, um die Anzahl der Dateien/Ordner rauszubekommen, den Befehl "Dir" nimmt.


MfG Karsten
Mitglied: Biber
Biber 04.07.2010 um 13:25:49 Uhr
Goto Top
Moin switcher94,

ergänzend zu kkboy94s Hinweisen noch zwei bis drei Anmerkungen

1) es gibt einige CmdLine-Utilities, die nur für diesen Zweck "Dateien und Dateigrößen eines Ordners inklusive Unterordner" geschrieben wurden.
Und die es hübsch kompakt und vor allem schnell anzeigen. "diruse", "diskusage" oder "du" wären ein paar übliche Namen.

2) unter VB/VBSkript ist eine der üblichen ersten Lauflern- und Turnübungen genau dieses rekursive Ordnerdurchwackeln und durchzählen.
Dazu findest du im Netz sicherlich ein paar Tonnen Beispielsourcen.

3) und zu guter Letzt:
???MB von ???MB kopiert
oder
??? Dateien von ??? Dateien kopiert
Who cares? What says it out... bzw. was transportiert das für relevante Informationen?

Oder willst du eine Fortschrittsanzeige zusammenlügen?
Wenn ja:
Für wen? Wer braucht es, wer würde dafür den Aufwand bezahlen?

Grüße
Biber
Mitglied: kkboy94
kkboy94 04.07.2010 um 13:40:49 Uhr
Goto Top
Ist eine Fortschrittsanzeige wirklich so schwer, bzw. ist der Aufwand so groß.
Ich hab vor kurzem mal sowas erstellt:
Dann wird zwar jedesmal wieder der Bildschirm gelöscht, aber es funktioniert.
Bei einer Fortschrittsanzeige für Robocopy müsste doch dann jede einzelne Datei einzeln kopiert werden, oder?

MfG Karsten
Mitglied: 90776
90776 04.07.2010 um 13:43:45 Uhr
Goto Top
Danke erstmal

Es geht eigentlich nur um ausprobieren, tüfteln, etc.

Und jein Biber es geht zum Teil um eine Fortschrittsanzeige, denn ich habe noch 5 Wochen Schulferien und wollte ein bisschen rumpropbieren

Gruss
Switcher
Mitglied: kkboy94
kkboy94 04.07.2010 um 13:50:30 Uhr
Goto Top
Ich meine auch, es gab hier im Forum schonmal Ansätze fürs Zählen von Ordnern/Dateien. Such einfach mal ein bisschen.
Und wenn du genau weißt, welche Ordner/Dateien zu kopieren sind, kannst du ja einfach für jede Datei einen eigenen Befehl zusammenschustern, und dann in mein Beispiel anstatt des "echo Warten" einfügen.

MfG Karsten


PS: Du sagst ja "Es geht eigentlich nur um ausprobieren, tüfteln, etc.". Mach das doch einfach mal und poste deine Ergebnisse. Nix für ungut face-wink
Mitglied: Biber
Biber 04.07.2010 um 14:07:26 Uhr
Goto Top
Moin Zwitscher,

Zitat von @90776:
Danke erstmal

Es geht eigentlich nur um ausprobieren, tüfteln, etc.

Und jein Biber es geht zum Teil um eine Fortschrittsanzeige, denn ich habe noch 5 Wochen Schulferien und wollte ein bisschen
rumpropbieren
Na ja, da wäre ich bestimmt der Letzte, der versuchen würde, jemand vom Ausprobieren und tüfteln abzuhalten
Wichtig ist nur, dass du eben auch das Vorzeichen kennst - es ist toll und ein echtes Erfolgserlebnis, so etwas hinzubekommen.
Aber den Aufwand wird dir keiner bezahlen.

Zu zweiten - da Xcopy/Robocopy/NTBackup etc monolithische Befehle sind, die dir NICHT erlauben innerhalb des "Starte-Kopiererei" bis "Ende-Kopiererei"-Blocks bei dem Ereignis "Habe eine einzelne Datei kopiert" einzugreifen....
--> dann musst du die ganze rekursive Verzeichnisstruktur-Kopiererei auch selbst programmieren.

Lass dich nicht davon abschrecken... es übt.

P.S. Wenn du damit fertig bist - was machst du mit restlichen 4 Wochen 6 1/2 Tagen Schulferien? *g

Grüße
Biber
Mitglied: 90776
90776 04.07.2010 um 15:40:03 Uhr
Goto Top
Bin fast fertig

Ich habe nur noch ein problem

Das Ordnergrössenscript, dass KKboy94 gepostet hat funktioniert perfekt,
aber wie müsste es aussehen wenn man die grösse (belegte grösse eines gesammten Laufwerks auslesen möchte,
oder den gesamten inhalt (Ordner und Dateien)

Wenn das Script funktioniert poste ich es

Gruss
Switcher
Mitglied: kkboy94
kkboy94 04.07.2010 um 15:55:30 Uhr
Goto Top
Hmm, ich glaube nicht, dass man die BELEGTE größe auslesen kann, bzw. ich weiß nicht wie das mit Boardmitteln gehen sollte.

MfG Karsten
Mitglied: rubberman
rubberman 04.07.2010 um 16:43:34 Uhr
Goto Top
Hallo switcher94,

DIR /S könnte dir helfen (aber für Laufzeiten von dreiundzwanzigeinhalb Stunden kann ich keine Gewähr übernehmen).


<EDIT>
findstr könnte es etwas beschleunigen

Falls du ausreichend Rechte hast, kannst du dir auch mal die Ausgabe von
ansehen.

<EDIT>



Grüße
rubberman
Mitglied: 90776
90776 04.07.2010 um 18:08:48 Uhr
Goto Top
Danke
Das Erste Beispiel hat funktioniert

aber es ist ein neues Problem aufgetaucht:

Wie finde ich heraus Ob der Angegebene Pfad ein Laufwerk (also Dface-smile oder ein Ordner (also D:\Test) ist

Grüsse
Switcher
Mitglied: rubberman
rubberman 04.07.2010 um 18:46:47 Uhr
Goto Top
Hallo switcher94,

versuchs mal so:

Grüße
rubberman
Mitglied: 90776
90776 04.07.2010 um 22:01:44 Uhr
Goto Top
Danke an alle

Hier das fertige Script:


Benötigt wird noch SleepX.exe
Download unter : http://www.westmesatech.com/sst.html

Und schauen das die Tausenderpunkte deaktiviert sind

Änderungsvorschläge einfach posen.

Danke nochmals an alle die Geholfen haben.

EDIT 1: Startzeit, Zeit, Benötigte Zeit hinzugefügt

EDIT 2: nochmals überarbeitet, Anzahl dateien hinzugefügt

EDIT 3: Test ob Tausendergruppierung deaktiviert ist

Grüsse
Switcher
Mitglied: 90776
90776 05.07.2010 um 10:35:51 Uhr
Goto Top
Ich habe noch ein Problem gefunden


Hier kommt soetwas raus:
61'250 MB

Wie bekomme ich diesen Strich weg?
61'250 MB


Habs so probiert, aber es sollte Variabel sein

Grüsse
Switcher
Mitglied: Biber
Biber 05.07.2010 um 11:32:41 Uhr
Goto Top
Moin switcher94,

für die Tausender-Punkte/Striche sind zuständig
  • der fünfte Parameter der FormatNumber-Function (optional und deshalb bei dir nicht gesetzt)
  • und ggf. die "Regionalen Einstellungen", die für einen deutsch-windowsigen Rechner aber anders aussehen sollten.

Suchmaschine mal nach "Vbskript Formatnumber" und schau es dir bei einer der ersten 5 Fundstellen an.

Grüße
Biber
Mitglied: 90776
90776 05.07.2010 um 16:08:33 Uhr
Goto Top
Danke hat sich erledigt

Gruss
Switcher