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

Frage Microsoft Windows Server

GELÖST

Mit VB Script Datei Extension auslesen?

Mitglied: Itfreak

Itfreak (Level 1) - Jetzt verbinden

21.12.2009 um 11:09 Uhr, 4761 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
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 38 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 12 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...