Jump to content

VBS: Ordnerstruktur nur bis erste Ebene auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo!

 

Ich hatte mal so ein tolles Script welches mir einen angegeben Ornder und die erste Ebene an Unterordner ausgelesen hat. Nur ich finde es nicht mehr und auch nicht im Netz! :-(

 

Nochmal im Detail: Ich habe den Ordner X im Script angegeben. Er schreibt mir den Ordnernamen "X" inkl. Pfad in eine TXT Datei. Anschließend geht es an die Unterordner. Diese schreibt er mir auch brav mit Pfad in eine TXT Datei. Diese Unterordner haben noch mehrere weitere Unterordner, aber die sollen nicht in die TXT Datei geschrieben werden!

 

Hat da jmd zufällig ne Funktion zur Hand? Ich bekomme es eben nur hin, dass er komplett alles ausliest.

 

Merci im voraus!

Link zu diesem Kommentar

Hey blob,

 

versuchs doch mal hiermit.

 

Dim objFSO, objUnterordner, objFolder, strLogFile, objLogFile
Const ForWriting = 2
strLogFile = "dir_log.txt" 'Log File in welches geschrieben wird

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Windows") 'Verzeichnis welches Durchsucht wird.

If objFSO.FileExists(strLogFile) Then

  set objLogFile = objFSO.OpenTextFile(strLogFile, ForWriting, true)

Else

  objFSO.CreateTextFile(strLogFile)
  set objLogFile = objFSO.OpenTextFile(strLogFile, ForWriting, true)

End If

objLogFile.WriteLine objFolder.path

For each objUnterordner In objFolder.SubFolders

 objLogFile.WriteLine objunterordner.path

Next



 

Gruß

 

Danny

Link zu diesem Kommentar

Hallo again,

 

sorry, habe mich etwas **** ausgedrückt. Ich habe ja schon den Pfad des Ordners, dessen Unterordner ich bis zur 2ten Ebene listen will. Also alle Subfolders von (z.B.) C:\Windows und dann wiederrrum deren Subfolders. Haben nun diese Subfolders wiederum weitere Subfolders, sollen die nicht ins Logs geschrieben werden, also alles bis zur zweiten Ebene meinte ich :-) Hat da jmd eine Function o. Sub, mit der ich die Ebene bestimmen kann?

 

Trotzdem Danke für den Code!

Link zu diesem Kommentar

dann ggf. so ;)

 

Dim objFSO, strLogFile, objLogFile
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")

strLogFile = "dir_log.txt" 'Log File in welches geschrieben wird

If objFSO.FileExists(strLogFile) Then

  set objLogFile = objFSO.OpenTextFile(strLogFile, ForWriting, true)

Else

  objFSO.CreateTextFile(strLogFile)
  set objLogFile = objFSO.OpenTextFile(strLogFile, ForWriting, true)

End If

read_two_subfolders "C:\Windows",objLogFile, 0

objLogFile.close


function read_two_subfolders(strFolderPath, objLogFile, intCounter)
On error Resume Next 'Falls Zugriff Verweigert etc...
Dim objUnterordner, objFolder

if intCounter < 2 then

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolderPath) 'Verzeichnis welches Durchsucht wird.


For each objUnterordner In objFolder.SubFolders

 objLogFile.WriteLine objunterordner.path

 read_two_subfolders objunterordner.path ,objLogFile, intCounter + 1
Next

End if

End Function

 

Gruß

 

Danny

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...