Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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?

Frage Microsoft Windows Server

Mitglied: Itfreak

Itfreak (Level 1) - Jetzt verbinden

21.12.2009 um 11:09 Uhr, 4748 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
VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Datei zeilenweise auslesen - es passiert aber nichts (3)

Frage von Nagus zum Thema Batch & Shell ...

VB for Applications
gelöst VB Skript Excel Datei (3)

Frage von Frager zum Thema VB for Applications ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...