info@a-coding-project.de

FSO: Folders

Als erstes wird die Funktion folders aufgerufen. Nun wird das notwendige FileSystemObject erstellt, um Zugriff auf das System zu erlangen. Dann wird mit new Enumerator(b) der Variablen d ein neues Enumerator-Objekt zugewiesen.

function folders()
{
 fso = new ActiveXObject("Scripting.FileSystemObject");
 a = fso.GetFolder('C:/Name');
 b = a.SubFolders
 d = new Enumerator(b);
 e = '';
 g1 = 0;
 g2 = '';
 d.moveFirst();
 for(;!d.atEnd(); d.moveNext())
 {
  h = d.item();
  e = e +h+' - '+h.Size+' Byte;<br>';
  if(h.Size > g1){g1 = h.Size; g2 = h;}
 }

 document.open();
 document.writeln('<p>Es sind folgende Unterverzeichnisse enthalten:<br>');
 document.writeln(e+'</p>');
 document.writeln('<p>Das größte Verzeichnis davon ist:<br>');
 document.writeln(g2+' mit '+g1/1024+' KB Größe.</p>');
 document.close();
 return

Beschreibung:
Als erstes wird die Funktion folders aufgerufen. Nun wird das notwendige FileSystemObject erstellt, um Zugriff auf das System zu erlangen. Dann wird mit new Enumerator(b) der Variablen d ein neues Enumerator-Objekt zugewiesen. Dieses Objekt soll alle Werte von b - also alle Unterverzeichnisse - enthalten. Mit d.moveFirst() wird dann der Zeiger auf das erste Objekt im Enumerator d gesetzt. In der folgenden for-Schleife wird nun solange, bis der Zeiger beim letzten Objekt des Enumerators (/solange er nicht am Ende ist ~ !d.atEnd()) angekommen ist folgendes gemacht:
Der Variablen h wird der aktuelle Zeiger - also ein Unterverzeichnis - zugewiesen. Dann werden der Name sowie die Größe des Verzeichnisses ausgelesen und jeweils zur Variablen e dazu addiert/hinzugefügt. Dies geschiet in der Zeile "e = e +h+' - '+h.Size+' Byte;<br>';".

Anschließend folgt eine if-Abfrage. Ist hier die Verzeichnisgröße des aktuellen Zeigers größer als die gespeicherte Größe (g1), so wird die Variable g1 mit der (größeren) aktuellen Verzeichnisgröße belegt und g2 mit dem Namen des Verzeichnisses.

Nach der for-Schleife werden nun noch die gesammelten Werte in das Dokument ausgegeben.

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant