Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Dateiordnerinhalte mit VBS auslesen





Frage

Hallo! Wie kann ich die Unterordner eines Ordners (z.B. D:/Fotos/) mit VBS auslesen? Die Ausgabe sollte ähnlich dem Windows Explorer aussehen. Also das man erstmal alle Unterordner von "D:/Fotos/" sieht. Die könnten dann zum beispiel "SommerUrlaub" oder "Weihnachten" heißen und wenn mann dann auf "SommerUrlaub" klickt werdne alle Unterordner und Dateien von "SommerUrlaub" angezeigt. Befinden sich daran Bilder sollen diese, bei Klick, in einem Neuen Fenster geöffnet werden. Ich hoffe es kann mir jmd. helfen... Gruß Waldgeist

Antwort 1 von AbsoluteBeginner

Hi,

ich habe irgendwo mal etwas kopiert, weiß nicht mehr von wem, es funktioniert jedenfall gut!

dim gesamt
Set MyFiles = CreateObject("Scripting.FileSystemObject")
Set MyShell = CreateObject("WScript.Shell")

Set args=wscript.arguments
if args.count=0 then
install
else
start = args(0)
end if

if asc(right(start,2)) = 126 then start=inputbox("Anfangsverzeichnis mit kurzem Dateinamen ok?",,start)

if start = "" then wscript.quit
Set Verz = MyFiles.GetFolder(start)

DateiFilter = ucase(InputBox("Welchen Dateityp wollen Sie auflisten? Geben Sie die Dateierweiterung ein ( * für ALLE).",,"*"))

If DateiFilter = "" Then WScript.Quit

Do
i=instr(start,"\")
start=mid(start,i+1)
loop while instr(start,"\")

if start = "" then start = left(args(0),1)
typ=DateiFilter
if typ="*" then typ = "ALLE"
Index = typ & " Dateien" & " unter " & start & ".html"
IndexFile = "c:\" & Index
IndexFile = replace(indexfile,"\\","\")

Set TextFile = MyFiles.CreateTextFile(IndexFile, True)
TextFile.Writeline "<HTML>"
TextFile.Writeline "<HEAD>"
TextFile.Writeline "<TITLE>Dateiübersicht</TITLE>"
TextFile.Writeline "</HEAD>"
TextFile.Writeline "<BODY>"
Subsearch Verz
TextFile.Writeline "<font face=Verdana size=1><H3>" & string(60, "*") & "</H3></FONT>"
TextFile.Writeline "<font face=Verdana size=1><H3>Dateien insgesamt unter " & start & ": " & gesamt & "</H3></FONT>"

TextFile.Writeline "</BODY>"
TextFile.WriteLine "</HTML>"
TextFile.Close
i=myshell.run(chr(34) & indexfile & chr(34))

Sub SubSearch(Byval Verz)
filesearch verz
Set Weitere = Verz.SubFolders
For Each AktuellerOrdner In Weitere
i=instr(AktuellerOrdner,"Temporary Internet Files")
if i = 0 then SubSearch AktuellerOrdner
Next
End Sub

Sub Filesearch(Byval AktuellerOrdner)
Set Dateien=AktuellerOrdner.Files
z = 0
For Each Datei in Dateien
If DateiFilter = "*" OR ucase(MyFiles.GetExtensionName(Datei.Path)) = DateiFilter Then
z = z + 1
if z = 1 then TextFile.Writeline "<font face=Verdana size=1><H2>" & typ & " Dateien unter " & AktuellerOrdner & "</H2></font>"

' AktuellerOrdner "</H2></font>"
Pfad = Replace(Datei, "\", "/", 1)
TextFile.Writeline "<font face=Verdana size=1><A HREF=" & Chr(34) & "file:///" & Pfad & Chr(34) & ">" & ucase(datei.name) & "</A> </br></FONT>"

End If
Next
if z > 0 then
gesamt = gesamt + z
if z = 1 then
TextFile.Writeline "<font face=Verdana size=1><H3>" & z & " Datei</H3></br></font>"
else
TextFile.Writeline "<font face=Verdana size=1><H3>" & z & " Dateien</H3></br></font>"
end if
end if
End Sub



Antwort 2 von Waldgeist

Hallo!

Danke für dein Script,
doch leider funktioniert es nicht :(

Antwort 3 von AbsoluteBeginner

OK, ist wahrscheinlich ein Kopierfehler, hier also noch mal mit Zeilen-Nummern, die du bitte vor Gebrauch entfernst ;)

100 dim gesamt
101 Set MyFiles = CreateObject("Scripting.FileSystemObject")
102 Set MyShell = CreateObject("WScript.Shell")
103 '_____________________
104 Set args=wscript.arguments
105 if args.count=0 then
106 install
107 else
108 start = args(0)
109 end if
110 '________________________
111 if asc(right(start,2)) = 126 then start=inputbox("Anfangsverzeichnis mit kurzem Dateinamen ok?",,start)
112 '______________________
113 if start = "" then wscript.quit
114 Set Verz = MyFiles.GetFolder(start)
115 '___________________________
116 DateiFilter = ucase(InputBox("Welchen Dateityp wollen Sie auflisten? Geben Sie die Dateierweiterung ein ( * für ALLE).",,"*"))
117 If DateiFilter = "" Then WScript.Quit
118 Do
119 i=instr(start,"\")
120 start=mid(start,i+1)
121 loop while instr(start,"\")
122 '_______________________
123 if start = "" then start = left(args(0),1)
124 typ=DateiFilter
125 if typ="*" then typ = "ALLE"
126 Index = typ & " Dateien" & " unter " & start & ".html"
127 IndexFile = "c:\" & Index
128 IndexFile = replace(indexfile,"\\","\")
129 '_________________________
130 Set TextFile = MyFiles.CreateTextFile(IndexFile, True)
131 TextFile.Writeline "<HTML>"
132 TextFile.Writeline "<HEAD>"
133 TextFile.Writeline "<TITLE>Dateiübersicht</TITLE>"
134 TextFile.Writeline "</HEAD>"
135 TextFile.Writeline "<BODY>"
136 Subsearch Verz
137 TextFile.Writeline "<font face=Verdana size=1><H3>" & string(60, "*") & "</H3></FONT>"
138 TextFile.Writeline "<font face=Verdana size=1><H3>Dateien insgesamt unter " & start & ": " & gesamt & "</H3></FONT>"
139 TextFile.Writeline "</BODY>"
140 TextFile.WriteLine "</HTML>"
141 TextFile.Close
142 i=myshell.run(chr(34) & indexfile & chr(34))
143 '________________________
144 Sub SubSearch(Byval Verz)
145 filesearch verz
146 Set Weitere = Verz.SubFolders
147 For Each AktuellerOrdner In Weitere
148 i=instr(AktuellerOrdner,"Temporary Internet Files")
149 if i = 0 then SubSearch AktuellerOrdner
150 Next
151 End Sub
152 '_______________________
153 Sub Filesearch(Byval AktuellerOrdner)
154 Set Dateien=AktuellerOrdner.Files
155 z = 0
156 For Each Datei in Dateien
157 If DateiFilter = "*" OR ucase(MyFiles.GetExtensionName(Datei.Path)) = DateiFilter Then
158 z = z + 1
159 if z = 1 then TextFile.Writeline "<font face=Verdana size=1><H2>" & typ & " Dateien unter " & AktuellerOrdner & "</H2></font>"
160 '_______________________
161 ' AktuellerOrdner "</H2></font>"
162 Pfad = Replace(Datei, "\", "/", 1)
163 TextFile.Writeline "<font face=Verdana size=1><A HREF=" & Chr(34) & "file:///" & Pfad & Chr(34) & ">" & ucase(datei.name) & "</A> </br></FONT>"
164 '_______________________
165 End If
166 Next
167 if z > 0 then
168 gesamt = gesamt + z
169 if z = 1 then
170 TextFile.Writeline "<font face=Verdana size=1><H3>" & z & " Datei</H3></br></font>"
171 else
172 TextFile.Writeline "<font face=Verdana size=1><H3>" & z & " Dateien</H3></br></font>"
173 end if
174 end if
175 End Sub

Antwort 4 von Waldgeist

Fehlermeldung:

"Typen unverträglich 'install'"

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: