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, 4717 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
Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

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

Frage von LindeUnimog zum Thema Outlook & Mail ...

Windows Userverwaltung
gelöst Logon Script mit einer .reg Datei (7)

Frage von Kathaki zum Thema Windows Userverwaltung ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(2)

Tipp von tralveller zum Thema Batch & Shell ...

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 ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (11)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (9)

Frage von zelamedia zum Thema Internet Domänen ...