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-ID: 56356

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

Ausgedruckt am: 14.11.2024 um 11:11 Uhr

AndreasHoster
AndreasHoster 11.04.2007 um 14:41:35 Uhr
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
bastla
bastla 11.04.2007 um 15:29:30 Uhr
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
geneon
geneon 11.04.2007 um 15:32:38 Uhr
Goto Top
klappt super!

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

Gruß

Rafi