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, 9888 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
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Netzwerkgrundlagen
Pro Contra "echtes Subnetting" VLSM (12)

Frage von killing.Apfelkuchen zum Thema Netzwerkgrundlagen ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (11)

Frage von shearer9 zum Thema Voice over IP ...