Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Mit VB Script Datei Extension auslesen?

Mitglied: Itfreak

Itfreak (Level 1) - Jetzt verbinden

21.12.2009 um 11:09 Uhr, 4776 Aufrufe, 2 Kommentare

Moin Moin

Ich sollte ein Script schreiben das mir alle Dateinamen in einem Windows Share und Datei Extensions
in meinem txt file ausgibt.
Die Dateinamen kann ich ohne probleme von Share und allen Unterordnern auslesen, aber das mit den
File Extensions bekomme ich nicht hin.
Ich müsste nur die Datei Extension haben und die Anzahl vorhandener Dateien. z.B ( pdf 44)
Habe mein Scipt auch gleich mit gepostet.
Danke im voraus für eure Hilfe!

01.
strComputer = "." 
02.
 
03.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
04.
 
05.
strFolderName = "C:\Test" 
06.
 
07.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
08.
Set objTextFile = objFSO.CreateTextFile("C:\Test.txt") 
09.
 
10.
Set colSubfolders = objWMIService.ExecQuery _ 
11.
    ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _ 
12.
        & "Where AssocClass = Win32_Subdirectory " _ 
13.
            & "ResultRole = PartComponent") 
14.
 
15.
Set colFiles = objWMIService.ExecQuery _ 
16.
    ("ASSOCIATORS OF {Win32_Directory.Name='" & strFolderName & "'} Where " _ 
17.
        & "ResultClass = CIM_DataFile") 
18.
 
19.
For Each objFile in colFiles 
20.
    If objFile.Extension = "pdf" Then 
21.
        objTextFile.WriteLine objFile.name 
22.
    End If 
23.
Next 
24.
 
25.
For Each objFile in colFiles 
26.
    If objFile.Extension = "doc" Then 
27.
        objTextFile.WriteLine objFile.name 
28.
    End If 
29.
Next 
30.
 
31.
 
32.
For Each objFile in colFiles 
33.
    If objFile.Extension = "docx" Then 
34.
        objTextFile.WriteLine objFile.name 
35.
    End If 
36.
Next 
37.
 
38.
 
39.
For Each objFile in colFiles 
40.
    If objFile.Extension = "ppt" Then 
41.
        objTextFile.WriteLine objFile.name 
42.
    End If 
43.
Next 
44.
 
45.
 
46.
For Each objFile in colFiles 
47.
    If objFile.Extension = "xls" Then 
48.
        objTextFile.WriteLine objFile.name 
49.
    End If 
50.
Next 
51.
 
52.
 
53.
For Each objFile in colFiles 
54.
    If objFile.Extension = "xlsx" Then 
55.
        objTextFile.WriteLine objFile.name 
56.
    End If 
57.
Next 
58.
 
59.
 
60.
For Each objFile in colFiles 
61.
    If objFile.Extension = "vsd" Then 
62.
        objTextFile.WriteLine objFile.name 
63.
    End If 
64.
Next 
65.
 
66.
 
67.
For Each objFile in colFiles 
68.
    If objFile.Extension = "txt" Then 
69.
        objTextFile.WriteLine objFile.name 
70.
    End If 
71.
Next 
72.
 
73.
 
74.
For Each objFolder in colSubfolders 
75.
    GetSubFolders strFolderName 
76.
Next 
77.
 
78.
Sub GetSubFolders(strFolderName) 
79.
 
80.
    Set colSubfolders2 = objWMIService.ExecQuery _ 
81.
        ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _ 
82.
            & "Where AssocClass = Win32_Subdirectory " _ 
83.
                & "ResultRole = PartComponent") 
84.
 
85.
    For Each objFolder2 in colSubfolders2 
86.
        strFolderName = objFolder2.Name 
87.
 
88.
    Set colFiles = objWMIService.ExecQuery _ 
89.
        ("ASSOCIATORS OF {Win32_Directory.Name='" & strFolderName & "'} Where " _ 
90.
            & "ResultClass = CIM_DataFile") 
91.
 
92.
 For Each objFile in colFiles 
93.
    If objFile.Extension = "pdf" Then 
94.
        objTextFile.WriteLine objFile.name 
95.
    End If 
96.
Next 
97.
 
98.
For Each objFile in colFiles 
99.
    If objFile.Extension = "doc" Then 
100.
        objTextFile.WriteLine objFile.name 
101.
    End If 
102.
Next 
103.
 
104.
 
105.
For Each objFile in colFiles 
106.
    If objFile.Extension = "docx" Then 
107.
        objTextFile.WriteLine objFile.name 
108.
    End If 
109.
Next 
110.
 
111.
 
112.
For Each objFile in colFiles 
113.
    If objFile.Extension = "ppt" Then 
114.
        objTextFile.WriteLine objFile.name 
115.
    End If 
116.
Next 
117.
 
118.
 
119.
For Each objFile in colFiles 
120.
    If objFile.Extension = "xls" Then 
121.
        objTextFile.WriteLine objFile.name 
122.
    End If 
123.
Next 
124.
 
125.
 
126.
For Each objFile in colFiles 
127.
    If objFile.Extension = "xlsx" Then 
128.
        objTextFile.WriteLine objFile.name 
129.
    End If 
130.
Next 
131.
 
132.
 
133.
For Each objFile in colFiles 
134.
    If objFile.Extension = "vsd" Then 
135.
        objTextFile.WriteLine objFile.name 
136.
    End If 
137.
Next 
138.
 
139.
 
140.
For Each objFile in colFiles 
141.
    If objFile.Extension = "txt" Then 
142.
        objTextFile.WriteLine objFile.name 
143.
    End If 
144.
Next 
145.
 
146.
 
147.
 
148.
        GetSubFolders strFolderName 
149.
    Next 
150.
End Sub 
151.
 
Mitglied: bastla
21.12.2009 um 11:43 Uhr
Hallo Itfreak!

Abgesehen davon, dass ich nur eine Schleife und darin ein "Select Case" zur Unterscheidung der Dateinamen verwenden würde, sollte es genügen, jeweils einen Zähler mitzuführen - also etwa als Zeile 21a:
NoPDF = NoPDF + 1
Am Ende hast Du dann in der Variablen "NoPDF" die Anzahl der gefundenen PDF-Dateien.

Noch eine Anmerkung: Falls in Deinem Ergebnis weniger Dateien als erwartet enthalten sein sollten, könnte der Grund darin liegen, dass Du nur Extensions in Kleinbuchstaben überprüfst - "Wichtig.PDF" würde damit gar nicht gefunden werden. Abhilfe könnte zB die Verwendung von "LCase()" schaffen, also etwa:
If LCase(objFile.Extension) = "pdf" Then
Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.12.2009 um 12:37 Uhr
Moin itfreak,

ergänzend zu bastlas Anmerkungen:

Soweit ich den Sinn und Zweck deines Schnipsels verstehe wäre es eventuell zu überlegen, statt File.Extension in UCASE() oder lower() doch gleich den "File.Type" auszuwerten. der wäre ja bei .PDF so etwas wie die usgabezeile von Assoc
01.
>assoc .pdf 
02.
.pdf=AcroExch.Document
Denn die Info brauchst du doch eh...

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Entwicklung

VB Script gesucht um Videodateien auslesen zu können.

gelöst Frage von templierEntwicklung7 Kommentare

Hallo zusammen, ich habe einen Kunden der auf seinem SAN hunderte von Präsentationsvideos angesammelt hat. Diese sollen nun in ...

VB for Applications

VB-Script in VB-Script starten und Parameter übergeben

gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

VB for Applications

Mit VB Script Sonderzeichen in Datei und Ordnernamen umbenennen

Frage von SirMcFrostyVB for Applications2 Kommentare

Folgendes Szenario: Einige Datei und/oder Ordnernamen besitzen Sonderzeichen(-kombinationen) die nun geändert/umbenannt werden müssen Beispiel: Aus ""Geschäftsüberlassung" soll wieder "Geschäftsüberlassung" ...

Microsoft Office

Daten aus Excel Datei per VB Script versenden.

Frage von 103148Microsoft Office1 Kommentar

Hallo, wir haben eine Excel Datei Office 2007 in der wird in Mappe1 Daten eingegeben, diese erzeugen eine Auswertung ...

Neue Wissensbeiträge
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 7 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 7 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 7 StundenHardware10 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 7 StundenMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL16 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Router & Routing
Gesichertes NTP, wie z.B. NTPsec oder andere Variante bei Fritzboxen möglich ?
Frage von BruniumRouter & Routing11 Kommentare

Aktueller Zustand: Verwendung von ungesicherten NTP mit Fritzbox Gewünschter Zustand: Verwendung von gesicherten NTP mit Fritzbox Frage: Was gibt ...