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, 9512 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
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...