Ordner-Größe auf FTP-Server mit wininet.dll VB6

Hallo liebe Experten,

ich hab einen kleinen FTP-Client mit der „wininet.dll“ gebastelt.
Auf dem Ziel-FTP-Server liegen Ordner deren Größe (samt dateien und Unterordner) ich ermitteln will. Allerdings sind die Ordner rießig und ich kann nicht einfach mal den Ordner downloaden um dann offline die Größe zu ermitteln. Ich hab einen Tipp im Internet gefunden, womit das angeblich gehen soll, allerdings spuckt er bei Ordnern immer die größe „4096“ aus.

Danke im Vorraus!

einen Tipp im Internet gefunden, womit das angeblich gehen
soll, allerdings spuckt er bei Ordnern immer die größe „4096“

Das richtig, das die klassische Grösse des Ordners .
Das Ermitteln der Ordnergrösse des Ordnerinhaltes ist nicht Trivial , weil der Inhalt immer erst errechnet werden muss. Und das dauert bei Windows (finde ich) richtig lange.

Bei linux ist das schnell gemacht

**du -sch /verzeichniss**

Also müsste ich alle Ordner und Unterordner durchsuchen und die Dateigrößen addieren.
Da lass ichs lieber :wink:

Also müsste ich alle Ordner und Unterordner durchsuchen und
die Dateigrößen addieren.
Da lass ichs lieber :wink:

Hallo Maggifix,

wenn du Zugriff auf den Ordner hast vielleicht so in VB, VBA, evtl. VBS:

Sub Test()
MsgBox FolderSize(„c:\test“)
End Sub

Public Function FolderSize(ByVal strFolder As String) As Double
’ Verweis auf Microsoft.scripting.runtime setzen!!!
Dim FSO As New Scripting.FileSystemObject, Folder As Scripting.Folder
If Right$(strFolder, 1) „“ Then strFolder = strFolder & „“
Set Folder = FSO.GetFolder(strFolder)
FolderSize = Folder.Size
End Function

Code-Quelle

Oder es gibt Freeware

Wenn es dir nichts hilft dann sorry, kenn mich mit so Servern nicht aus.

Gruß
Reinhard

Das kannte ich noch nicht, werd ich mir merken :wink:
Leider bringt mir das bei einem FTP-Server nichts, da ich keinen direkten Zugriff auf die Ordnerarchitektur habe. Ich müsste es erst downloaden, allerdings dauert das bei ein paar hundert MB etwas lang und würde alles zum hängen bringen. Trotzdem Danke!

Hallo Magifix,

Das kannte ich noch nicht, werd ich mir merken :wink:

ich kannte das auch nicht lernte ich nur durch die Recherche zu deiner Anfrage kennen.
Der Code, getestet in Excel-Vba funktioniert.
ABER es gibt da scheinbar ein Problem, ich akkn die Größe von C:\test oder d:\ problemlos auslesen und gar nicht mal langsam aber wenn ich das mit c:\ mache dauert es lange und es kommt „kein Zugriff“.
Ich mutmaße stark das hängt mit Dateien zusammen die Windows als Betriebssystem benutzt.

Leider bringt mir das bei einem FTP-Server nichts, da ich
keinen direkten Zugriff auf die Ordnerarchitektur habe.

Sowas habe ich intuitiv bei FTP-Server vermutet.
Nur für meinen Wissensdurst, bei der Sachlage ist es doch wohl wurscht ob du einen Win-PC hast oder Linux-PC.
Auch mit dem von Lae gezeigten Linux-Befehl könntest du nicht das was du willst direkt auslesen, auch mit Linux müßest du da den Ordnerbaum samt aller Dateien komplett runterladen um seine Bytes zu zählen.
Richtig?

Gruß
Reinhard

Auch mit dem von Lae gezeigten Linux-Befehl könntest du nicht
das was du willst direkt auslesen, auch mit Linux müßest du da
den Ordnerbaum samt aller Dateien komplett runterladen um
seine Bytes zu zählen.
Richtig?

Jain, automatisieren kann man es soweit ich weiß nicht, aber in Linux ist ein FTP-Client in viele Ordner-Explorer integriert die das dann für einen erfassen können.

Ich könnte mit dem Befehl etwas Anfangen, hätte ich vollen Zugriff auf den Server auf dem der FTP-Server läuft. Ich könnte den Befehl z.B. alle 2 Minuten aufrufen lassen und das Ergebnis dann in eine Datei schreiben, welche ich dann mit VB6 und dem FTP-Client herunterladen könnte.

ABER es gibt da scheinbar ein Problem, ich akkn die Größe von
C:\test oder d:\ problemlos auslesen und gar nicht mal langsam
aber wenn ich das mit c:\ mache dauert es lange und es kommt
„kein Zugriff“.

Das liegt sicher daran, dass es in „C:“ viele Dateien von Windows gibt die „Schreib UND LESE“ gesperrt sind (z.B. „C:\pagefile.sys“), und für das Attribute-auslesen einer Datei werden die Lese-Rechte benötigt schätze ich mal.

MfG Markus