gianfranco0104
Erfahrenes Mitglied
Hab da ein Problem. Bislang habe ich Dateien aus einem Ordner erfolgreich auslesen können und aufgelistet. Jetzt kommen auch Unterordner dazu. Die Aufgabe ist, alle Dateien aus den Ordnern auszulesen und aufzulisten. Aus welchem Ordner sie kommen muss nicht mit aufgelistet werden, lediglich der gesamte Dateiinhalt aller Ordner/Unterordner.
Ich weiß wie man Subfolder ausließt, und habe es mal so probiert: 1. äußere For-Schleife Ordner auslesen, 2. innere For-Schleife alle Dateien auslesen.
Aber es klappt nicht. Hier mal der Code, vielleicht stimmen die Reihenfolgen nicht?!
bei einem Alert(allPathToMyDocuments); bekomme ich 1x den korrekten Pfad EINES ordners, aber mit dem Dateinamen des übergeordneten Root-Ordners). und das wars dann, alle anderen und die in den Subfoldern werden ignoriert.
Ich weiß wie man Subfolder ausließt, und habe es mal so probiert: 1. äußere For-Schleife Ordner auslesen, 2. innere For-Schleife alle Dateien auslesen.
Aber es klappt nicht. Hier mal der Code, vielleicht stimmen die Reihenfolgen nicht?!
Javascript:
var projName = []; //('Projektname')
var folderName = null //alle subfolders
var ProjDateRoh = null // ('Tue Aug 5 02:53:27 EDT 2014')
var ProjDate = null // ('05.08.2014')
var arrayFileData = [];
var files = null
//Alle Files und deren Namen Einlesen
var fileAmount = new ActiveXObject("Scripting.FileSystemObject");
shell = new ActiveXObject("WScript.Shell");
pathToMyDocuments = shell.SpecialFolders('MyDocuments');
var folderObj = fileAmount.GetFolder(pathToMyDocuments + "\\CM5Projects\\");
// erstellen eines Enumerator Typen und Kollektion aller Dateien im Ordner
var Collection = new Enumerator(folderObj.SubFolders); //Ordner und Sub-Ordner
var Obj; //Ordner- und Sub-Ordner-Objekte
var filesCollection = new Enumerator(folderObj.Files); //Dateien
var fileObj; //Datei-Objekte
//+ Collection.moveFirst()+ !Collection.atEnd()+ Collection.moveNext()
for (Collection.moveFirst() ; !Collection.atEnd() ; Collection.moveNext()) {
for (filesCollection.moveFirst() ; !filesCollection.atEnd() ; filesCollection.moveNext()) {
Obj = Collection.item();
fileObj = filesCollection.item();
projName = fileObj.Name;
ProjDateRoh = fileObj.Name;
folderName = Obj.Name;
// Datum vom letzten Zugriff der Dateien
var getProjDateRoh = new ActiveXObject("Scripting.FileSystemObject");
shell = new ActiveXObject("WScript.Shell");
pathToMyDocuments = shell.SpecialFolders('MyDocuments');
allPathToMyDocuments = folderObj + "\\" + folderName + "\\" + ProjDateRoh;
var ProjDateRaw = getProjDateRoh.GetFile(allPathToMyDocuments);
ProjDateRoh = ProjDateRaw.DateLastAccessed;// Date Format ist ('Tue Aug 5 02:53:27 EDT 2014')
// In ein Array einbauen
var fileYear = new Date(ProjDateRoh).getFullYear()
var fileMonth = ('0' + new Date(ProjDateRoh).getMonth()).substr(-2)
var fileDay = ('0' + new Date(ProjDateRoh).getDate()).substr(-2)
var arrayElement = fileYear + fileMonth + fileDay + "_____" + projName
arrayFileData.push(arrayElement)
//vom Speicher zurücksetzen
getProjDateRoh = null
fileAmount = null
}
}
bei einem Alert(allPathToMyDocuments); bekomme ich 1x den korrekten Pfad EINES ordners, aber mit dem Dateinamen des übergeordneten Root-Ordners). und das wars dann, alle anderen und die in den Subfoldern werden ignoriert.
Zuletzt bearbeitet: