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, 9706 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Router & Routing
Routingproblem in Homerouter-Kaskade mit Raspi (20)

Frage von Oldschool zum Thema Router & Routing ...

Server
Freenas schlechte Schreib Performance bei NFS (16)

Frage von janosch12 zum Thema Server ...

Windows Userverwaltung
gelöst TeamViewer mit Software Restriction Policy (9)

Frage von geocast zum Thema Windows Userverwaltung ...