Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

WSH - Script zum durchsuchen eines Ordners nach bestimmten Dateiendungen

Frage Entwicklung VB for Applications

Mitglied: mo2402

mo2402 (Level 1) - Jetzt verbinden

16.09.2008, aktualisiert 19.09.2008, 9634 Aufrufe, 5 Kommentare

Hallo,

ich brauche ein WSH Script das mir Ordner nach bestimmten Dateiendungen durchsucht.
Ich habe dieses Script hier gefunden, nur bräuchte ich nun das "Jokerzeichen" damit er nicht nach "Datei.txt" sucht, sondern nach allen *.txt

Das Script habe ich soweit:
01.
strComputer = "." 
02.
Set fs = CreateObject("Scripting.FileSystemObject") 
03.
 
04.
Sub FileSearch(pfad) 
05.
  Set ordner = fs.GetFolder(pfad) 
06.
  Set dateien = ordner.files 
07.
  For Each datei In dateien 
08.
    If datei.Name  =  "Datei.txt" Then  
09.
		WScript.Echo datei.Name 
10.
    End If 
11.
 
12.
  Next 
13.
  Set unterordner = ordner.subfolders 
14.
  For Each uo In unterordner 
15.
    FileSearch(uo) 
16.
  Next 
17.
End Sub 
18.
 
19.
FileSearch("C:\DELL")
habe schon *, $ und % ausprobiert.
Mitglied: Biber
16.09.2008 um 12:59 Uhr
Moin mo2402,

dann ändere die Zeile
... 
If datei.Name = "Datei.txt" Then  
...
...auf...
...If  right(datei.Name, 4) = ".txt" Then  
...
...oder warte auf bastla.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
16.09.2008 um 13:01 Uhr
Hallo mo2402!

"Jokerzeichen" damit er nicht nach "Datei.txt" sucht, sondern nach allen *.txt
... gibt es für diesen Zweck in VBS nicht, daher etwa so:
01.
Set fs = CreateObject("Scripting.FileSystemObject") 
02.
 
03.
Sub FileSearch(pfad) 
04.
Set ordner = fs.GetFolder(pfad) 
05.
Set dateien = ordner.files 
06.
For Each datei In dateien 
07.
    If LCase(fs.GetExtensionName(datei.Name)) = "txt" Then WScript.Echo datei.Path 
08.
Next 
09.
 
10.
Set unterordner = ordner.subfolders 
11.
For Each uo In unterordner 
12.
    FileSearch(uo) 
13.
Next 
14.
End Sub 
15.
 
16.
FileSearch("C:\DELL")
Da Du ja rekursiv suchst, fände ich die Ausgabe des gesamten Pfades einer gefundenen Datei sinnvoll (und habe das Script dahingehend geändert).

Das "LCase()" in Zeile 7 soll sicher stellen, dass auch zB eine "BLA.TXT" gefunden wird.

Grüße
bastla

@Biber: Sorry, habe in letzter Zeit etwas Verspätung ...
Bitte warten ..
Mitglied: mo2402
19.09.2008 um 10:35 Uhr
Super danke funktioniert super! Gibt es auch noch eine Function wie z.B. fs.GetFileSize oder so, damit ich die Größe der einzelnen Datein noch rausfinden kann?
Bitte warten ..
Mitglied: Biber
19.09.2008 um 11:27 Uhr
Moin mo2402,

gibt es...allerdings eher als Eigenschaft .Size des File-Objects
[= wäre oben:
oFile = fs.GetFile( datei.name)
Filesize= oFile.Size
...
]...
Diese Mimik wurde hier im Forum schon mehrfach durchdekliniert (z.B. hier).

Tipp: alle Möglichkeiten des FileSystemObjects bzw. des File-Objects findest Du via Suchmaschine.
Grüße
Biber
Bitte warten ..
Mitglied: bastla
19.09.2008 um 12:01 Uhr
... bzw, da ja die einzelnen Datei-Objekte ohnehin schon über die "For"-Schleife (ab Zeile 6) angesprochen werden, einfach
01.
Filesize = datei.Size
Zusatztipp: Auf dies(ey)er Seite findest Du einen Link zum Download der (deutschen) "script56.chm" ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Windows Server
Login Script nach der Anmeldung Zeitverzögert ausführen (3)

Frage von Intruder0001 zum Thema Windows Server ...

PHP
Ein Script, verschiedene Intervalle für Cronjob (4)

Frage von tsunami zum Thema PHP ...

SAN, NAS, DAS
Erstellen eines Ordners od. Freigabe auf der BOOT-Parition - NAS4free (3)

Frage von StillerLeser09 zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst Firtzbox VPN nicht alle Ports erreichbar? (15)

Frage von atarjono zum Thema Router & Routing ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (15)

Frage von ProfessorZ zum Thema Router & Routing ...