geneon
Goto Top

ordner mit vbs anzeigen

Hallo erstamal!

ich versuche verzweifelt mit vbs alle dateien und ordner aus c in eine txt datei zu speichern!

also so ungefhähr das wenn in c die ordner:

windows
progamme
und test.txt

sollen die drei sachen in einer txt datei stehen!

Danke im vorraus!

Rafi

Content-Key: 56356

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

Printed on: April 19, 2024 at 05:04 o'clock

Member: AndreasHoster
AndreasHoster Apr 11, 2007 at 12:41:35 (UTC)
Goto Top
Dieses Skript macht alle Ordner und Dateien aller Laufwerke und gibt die Namen auf der Konsole aus. Kann man ja aber anpassen.

set fs = CreateObject("Scripting.FileSystemObject")
set drives = fs.Drives
' * Alle Laufwerke durchgehen *
for each drive in drives
' * Nur Festplatten *
if (drive.drivetype=2) then
'* Root setzen
set folder=fs.getfolder(drive.driveletter & ":\")
'* Alle Verzeichnisse durchgehen
VerzDurchgang drive.driveletter & ":", folder
end if
' * Ende alle Laufwerke durchgehen *
next


' *
'
* Funktionen & Prozeduren *
'
*

sub VerzDurchgang(Pfad, Verzeichnis)
Pfad=Pfad & "\"
'* Alle Files des Verzeichnisses durchgehen
FilesDurchgang Pfad, Verzeichnis
'* Alle Unterverzeichnisse durchgehen
for each folder in Verzeichnis.Subfolders
' * Was jetzt tun? Mal name anzeigen
wscript.echo folder.name
'* Verzeichnisdurchgang für jedes Unterverzeichnis aufrufen
VerzDurchgang Pfad & Verzeichnis.Name, folder
next
end sub

sub FilesDurchgang(Pfad, Verzeichnis)
'* Alle Dateien durchgehen
for each file in Verzeichnis.files
' * Was jetzt tun? Mal Name anzeigen
wscript.echo file.name
next
end sub
Member: bastla
bastla Apr 11, 2007 at 13:29:30 (UTC)
Goto Top
Hallo geneon!

Im Prinzip wie bei AdreasHoster, nur diesmal mit vollem Pfad und Ausgabe in Textdatei:
'ListAllFilesAndFolders2TextFile.vbs  
Set fso = CreateObject("Scripting.FilesystemObject")  
Set Liste = fso.OpenTextFile("D:\Liste.txt", 2, True)  
DoFolders fso.GetFolder("C:\")  
Liste.Close
WScript.Echo "Fertig."  
Sub DoFolders(Folder)
If LCase(Folder.Name) <> LCase("System Volume Information") Then  
	For Each File In Folder.Files
		Liste.WriteLine File.Path
	Next
	For Each SubFolder In Folder.SubFolders
		Liste.WriteLine SubFolder.Path
		DoFolders(SubFolder)
	Next
End If
End Sub
Sollte wirklich nur der Name gewünscht sein, jeweils in den "Liste.WriteLine"-Zeilen "Path" durch "Name" ersetzen.

Die Verschönerungsarbeiten hinsichtlich Parameterübergabe für Startpfad und Ausgabedatei überlasse ich Dir.

Grüße
bastla
Member: geneon
geneon Apr 11, 2007 at 13:32:38 (UTC)
Goto Top
klappt super!

Herzlichen dank an beide! für die schnelle antwort!

Gruß

Rafi