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
GELÖST

Mit VB Script Datei Extension auslesen?

Frage Microsoft Windows Server

Mitglied: Itfreak

Itfreak (Level 1) - Jetzt verbinden

21.12.2009 um 11:09 Uhr, 4701 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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