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

Datenträger nach Filmen, MP3s, Bildern oder docx durchsuchen - Auflistung inkl. Filmlänge, Abmessungen, Interpret, Kamermodell, Autor etc.. in eine .csv speichern

Mitglied: Edi.Pfisterer

Edi.Pfisterer (Level 2) - Jetzt verbinden

02.04.2010, aktualisiert 18.10.2012, 10780 Aufrufe, 4 Kommentare

Um etwas Ordnung in die "Sicherungskopien" zu bringen, könnte folgender Codeschnipsel behiflich sein...

Aloha!
Nachdem sich doch mittlerweile etwas Chaos in meiner Filmsammlung breit gemacht hat und ich keine passende UND veränderbare Software gefunden habe, ist folgendes Tool entstanden...

Die Idee:
Mittels HTA als GUI und VBS ein Tool basteln, das einen beliebigen Datenträger nach einem bestimmten Datentyp (auf Grundlage der Standardanwendung, mit der der Dateityp geöffnet wird) durchsucht, einige erweiterte Dateieigenschaften sammelt und diese dann in eine csv schreiben

Die Umsetzung:
[edit: das Skript könnte auf einigen Vista oder 7 nicht laufen. Gegebenfalls wäre also die mstha.exe in Windows32 gegen eine ältere Version (am besten aus XP) tauschen...]

folgenden Code als myMovies.hta speichern (an beliebiger Stelle) - Start durch Doppelklick

01.
<head>
02.
<meta name="author" content="urobe73_administrator.de">
03.
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
04.
<title>Edis Dateiliste</title>
05.
<HTA:APPLICATION
06.
SCROLL="yes"
07.
SINGLEINSTANCE="yes"
08.
WINDOWSTATE="normal"
09.
>
10.
</head>
11.
<script language="VBScript">
12.
' Version 02_04_2010 - 12:00
13.

14.
Set objFSO = CreateObject("Scripting.FileSystemObject")
15.
kopfzeile = 0
16.
function meineVids(pfad,dateiname)
17.

18.
        if kopfzeile = 0 then
19.
        set logbuch1 =objFSO.opentextfile(dateiname, 2, true,0)
20.
        logbuch1.write "Ordnername;Filmtitel;Filmlänge;Abmessungen"
21.
        logbuch1.close
22.
        kopfzeile = 1
23.
        end if
24.

25.
            If radiobutton(0).Checked Then
26.
                showall = "ja"
27.
            End If
28.
            If radiobutton(1).Checked Then
29.
                showall = "nein"
30.
            End If
31.

32.
        Set objFolder = objFSO.GetFolder(pfad)
33.
        Set colSubfolders = objFolder.Subfolders
34.

35.
        For Each objSubfolder in colSubfolders
36.
        on Error resume next
37.
                 ordnerzeichen = ordner_zeichen.value
38.
                 vollername = objFSO.GetAbsolutePathName(objSubfolder)
39.

40.
                 if showAll = "ja" then
41.
                    ausgabe2 = left(vollername,ordnerzeichen) & punktaln(vollername,ordnerzeichen) & vbcrlf
42.
                 end if
43.
                 ausgabe1 = ausgabe2 & detail(vollername, showall)
44.

45.
                set logbuch1 =objFSO.opentextfile(dateiname, 8, true,0)  ' 8 zum anfügen
46.
                logbuch1.write ausgabe1
47.
                logbuch1.close
48.
                dateinameneu = dateiname
49.
         call meineVids(vollername,dateinameneu)
50.
        Next
51.

52.
end function
53.

54.
function punktaln(ordnername, anzeigezeichen)
55.
        anzeigezeichen = anzeigezeichen+1   'damit er checkt, dass anzeigezeichen eine zahl ist...
56.
        if len(ordnername) >=  anzeigezeichen then
57.
        anzeige = "... "
58.
        end if
59.
        punktaln = anzeige
60.
end function
61.

62.
function Detail(ordnername, lang)
63.
        dateitypen = split(Dateityp.value,";")
64.

65.
        showAll = lang
66.
            If urlbutton(0).Checked Then
67.
                link = "ein"
68.
            End If
69.
            If urlbutton(1).Checked Then
70.
                link = "aus"
71.
            End If
72.
        durchlauf = 1
73.

74.
        Dim arrHeaders(34)
75.
        Set objShell = CreateObject("Shell.Application")
76.
        Set objFolder = objShell.Namespace(ordnername)
77.
        For i = 0 to 33
78.
            arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i)
79.
        Next
80.
        For Each strFileName in objFolder.Items
81.
                ordnerzeichen = ordner_zeichen.value
82.
                dateizeichen = datei_zeichen.value
83.

84.
            for i = 0 to UBound(dateitypen)
85.
                if instr(1, objFolder.GetDetailsOf(strFileName, 2), dateitypen(i), 1) >= 1 then
86.
                nemmas = 1
87.
                end if
88.
            next
89.

90.
             if nemmas = 1 then
91.
                if durchlauf = 1 AND showAll <> "ja" then
92.
                        feedback = feedback & vbcrlf & left(ordnername,ordnerzeichen) & punktaln(ordnername,ordnerzeichen) & vbcrlf
93.
                        feedback_DVD = feedback
94.
                        durchlauf = 2
95.
                end if
96.
                feedback = feedback & " ;" & left(objFolder.GetDetailsOf(strFileName, 0),dateizeichen) _
97.
                    & punktaln(objFolder.GetDetailsOf(strFileName, 0),dateizeichen) & "; " & objFolder.GetDetailsOf(strFileName, 21) _
98.
                    & ";(" & objFolder.GetDetailsOf(strFileName, 26) & ");"
99.

100.
                    if link = "ein" then
101.
                    feedback2 = Chr(34) & "=hyperlink(" & Chr(34)  & Chr(34)& ordnername & "\" & objFolder.GetDetailsOf(strFileName, 0) _
102.
                    & Chr(34)  & Chr(34) & ";"  & Chr(34)  & Chr(34) & "klick " &  Chr(34)  & Chr(34)& ")"  & Chr(34)
103.
                    end if
104.

105.
                    feedback = feedback & feedback2 & vbcrlf
106.
                     if instr(1, objFolder.GetDetailsOf(strFileName, 0),"vob", 1)>=1 then feedback = feedback_DVD & "ist eine DVD" & vbcrlf
107.
            end if
108.
            nemmas = 0
109.
        Next
110.
        Detail = feedback
111.
end function
112.

113.
Sub Aufgabe1
114.

115.
        woissndes = pfad.value
116.
        dateiname = replace(woissndes,"\","_")
117.
        dateiname = replace(dateiname,":","_")
118.
        dateiname = dateiname & "_" & dateityp.value & ".csv"
119.

120.
        call meineVids(woissndes,dateiname)
121.

122.
        DataArea.InnerHTML = "<a href='" & dateiname & "'>Datei</a>  erfolgreich angelegt"
123.

124.
End Sub
125.

126.
</script>
127.

128.

129.
<body bgcolor=#FAF8AF>
130.
<font face=verdana>
131.
Pfad: <input type="Text" name="pfad" value="G:\" size="" maxlength=""><br><br>
132.

133.

134.
Was erscheint als Typ, wenn man den Mauszeiger über eine gesuchte Datei bewegt: <input type="Text" name="Dateityp" value="vlc;windows media" size="25" maxlength="20"> <br>
135.
<font size = 1>
136.
(es können auch mehrere Typen, durch <b>;</b> getrennt, angegeben werden!)<br>
137.
Beispiele: Irfan;Windows Media;excel;word;winamp ... oder mit der Dateierweiterung (einzeln oder kombiniert): doc;zip;rar;xlsx;mp3;avi</font><br><br>
138.

139.

140.
Die Anzeige der Ordner wird auf <input type="Text" name="ordner_zeichen" value="120" size="" maxlength=""> eingeschränkt!<br><br>
141.

142.
Die Anzeige der Dateinamen wird auf <input type="Text" name="datei_zeichen" value="100" size="" maxlength=""> eingeschränkt!<br><br>
143.

144.
Sollen auch Ordner angezeigt werden, die den gewünschten Dateityp NICHT enthalten?
145.
Ja <input type="radio" name="radiobutton" value="0"> Nein <input type="radio" name="radiobutton" value="1" checked><br><br>
146.
Sollen in der .csv-Datei Links zu den Dateien erscheinen?
147.
Ja <input type="radio" name="urlbutton" value="0"> Nein <input type="radio" name="urlbutton" value="1" checked><br><br>
148.
<br>
149.

150.

151.
<input type="button" value="Datei anlegen" name="run_button" onClick="Aufgabe1"><br>
152.
<font size = 1>(Die Verarbeitung kann mehrere Minuten dauern... Bitte um etwas Geduld)</font>
153.

154.
<br><br><br>
155.
<b>
156.
<div id="dataarea"></div>
157.
</b>
158.
</font>
159.
</body>
160.

161.
Kurze Erklärung zur Verwendung bzw. Anpassung:

Durch klick auf den Button Datei anlegen wird das Laufwerk (bzw. der jeweilige Unterordner, den ihr gewählt habt) durchsucht und im Hintergrund die .csv-Datei angelegt;
Das Tool schließt den Such/Schreibvorgang mit der Meldung "Datei erfolgreich angelegt" ab. Dies kann - je nach Größe des Datenträgers bzw. Saft eures Systems mehrere Minuten in Anspruch nehmen...

Die csv-Datei wird in das Verzeichnis gespeichert, in dem die myMovies.hta liegt. Der Dateiname richtet sich nach folgendem Schema:

LW_Unterverzeichnis_dateityp1;dateityp2.csv


Das Tool lässt sich für jeden beliebigen Dateityp verwenden, in dem man im Windows Explorer den Mauszeiger über eine Datei des gewünschten Dateityps positioniert. Im Popup findet sich in der ersten Zeile der Eintrag TYP.
(Tipp: es genügt, im Eingabefeld Dateityp einige Zeichen des Typs einzutragen!)

Weiters besteht die Möglichkeit, mehrere Dateitypen in einer .csv zu erfassen, in dem man diese durch Semikolon (;) trennt
(Tipp: ohne Leerzeichen)

Zum Zwecke der besseren Übersichtlichkeit besteht die Möglichkeit, lange Ordnernamen bzw. Dateinamen auf eine selbst wählbare Zeichenanzahl abzukürzen (dies wird durch ... in der csv dargestellt)

Außerdem kann die Auflistung erweitert werden, in dem alle Ordner angezeigt werden (dh, auch jene, in denen der gesuchte Datentyp nicht vorhanden ist)

Die grafische Gestaltung des Tools lässt etwas zu wünschen übrig, aber meine ästhetischen Anforderungen sind nur in Bezug auf das andere Geschlecht erhöht...
(Tipp: die GUI ist rein in HTML verfasst und lässt sich beliebig verbessern... - verschlechtern ist wohl kaum mehr möglich

Falls andere als die von mir gewählten erweiterten Eigenschaften in die csv übertragen werden sollten, dann könnte folgende Liste behilflich sein.

Tipp, falls ihr mit VBS nicht so ganz per Du seid:
die Zahlen entsprechen dem Arrayindex in der Funktion Detail entsprechen...: (folgende Änderungen beziehen sich auf Zeile 97 im Code)
Beispiel 1: ihr ersetzt die Abmessung gegen das Kamermodell [24]
Beispiel 2: ihr erweitert den Code - hier wird der Interpret und den Titel des Albums ausgegeben - wenn es um mp3 gehen sollte...): [16] [17]
01.
Beispiel1:
02.
& ";(" & objFolder.GetDetailsOf(strFileName, 24) & ");" 
03.

04.
Beispiel2:
05.
 & ";(" & objFolder.GetDetailsOf(strFileName, 16) & ")" &   ";" & objFolder.GetDetailsOf(strFileName, 17) &  ";"
(ich verwende nur die Indexwerte 0,21 u 26)

0 Name: meinLieblingsfilm.avi
1 Größe: 91.000 KB
2 Typ: VLC media file (.avi)
3 Geändert am: 12.09.2009 19:39
4 Erstellt am: 12.09.2009 19:37
5 Letzter Zugriff am: 01.04.2010 21:18
6 Attribute: A
7 Status: Online
8 Besitzer: EDI\urobe
9 Autor:
10 Titel:
11 Thema:
12 Kategorie:
13 Seiten:
14 Kommentare:
15 Copyright:
16 Interpret:
17 Albumtitel:
18 Jahr:
19 Titelnummer:
20 Genre:
21 Dauer: 00:09:36
22 Bitrate:
23 Geschützt:
24 Kameramodell:
25 Bild aufgenommen am:
26 Abmessungen: 640 x 480
27 : 640 Pixel
28 : 480 Pixel
29 Folgenname:
30 Sendungsbeschreibung:
31 :
32 Abtastgröße:
33 Abtastrate:

Evtl. braucht ja jemand von Euch einmal dieses Tool oder kann darauf aufbauend etwas für seine mp3-Sammlung basteln (oder .docx oder whatever...).
(Außerdem kann ich es durch diese Anleitung selbst nicht mehr verlieren.... wäre leider nicht das erste Tool, das ich wiederholt mache, da ich es nicht mehr finde
Bei Fragen helfe ich gerne weiter...

lg
Edi
Mitglied: bastla
02.04.2010, aktualisiert 18.10.2012
Hallo Edi!

Da warst Du ja schon wieder fleißig ...

Nur als Anmerkung vorweg (getestet habe ich noch nicht): Wie hier schon mal von Biber zusammengestellt, gibt es offensichtlich je nach Windows-Version unterschiedliche Indizes für die "Extended File Attributes" ...

Grüße
bastla
Bitte warten ..
Mitglied: Edi.Pfisterer
02.04.2010 um 20:27 Uhr
Hallo Bastla!
Danke für den Hinweis!!!
Da ich hier noch auf XP unterwegs bin, funktioniert mein Code - ohne entsprechende Anpassungen der Indizes - auch nur dafür...

Du bist natürlich wieder herzlich eingeladen, das Ding zu verändern bzw. -bessern!!!!

btw: mir ist aufgefallen, dass das Tool manche Ordner auslässt, weil ihm irgendetwas an der Formatierung der Dateien nicht passt...
(Konnte dies anhand einer Datei, die ein russischer Kollege in seiner Heimatschrift benannte, feststellen...
Falls Du dafür eine Verbesserung hast (dh, es wird nur die Datei, nicht aber der ganze Folder ausgelassen), würde ich das schön finden.

Am schärfsten wäre natürlich eine Prüfung vorweg, welches OS installiert ist und anschliessend daran ein paar checkboxen, welche Infos in die csv geschrieben werden sollen....

Wünsche Dir frohes Osternestsuchen
lg
Edi
Bitte warten ..
Mitglied: Midivirus
08.04.2010 um 23:28 Uhr
top!

Teste das jetzt einfach mal und bei Fehler, gibs Meldungen....
Bitte warten ..
Mitglied: Edi.Pfisterer
09.04.2010 um 09:47 Uhr
Hallo Midivirus!
Wie verlief Dein Test? Verbesserungsvorschläge? Anmerkungen?
lg
Bitte warten ..
Neue Wissensbeiträge
Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 1 TagInternet

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 2 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 4 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Sicherheit

Wikileaks-Gründer Julian Assange wurde festgenommen

Information von Frank vor 7 TagenSicherheit3 Kommentare

Wikileaks-Gründer Julian Assange wurde heute in London festgenommen. Die Botschaft Ecuadors, in der er seit sieben Jahren lebte, hat ...

Heiß diskutierte Inhalte
Tipps & Tricks
Verdammt voll erwischt
Frage von AlchimedesTipps & Tricks23 Kommentare

Folgende Mail habe ich auf meinem Freenet Account erhalten: Nun folgendes Problem: 1) Ich besuche Porno Seiten yep hat ...

Drucker und Scanner
Xerox 7328 muss jeden Tag neu installert werden
Frage von PN-SchrauberDrucker und Scanner20 Kommentare

hallo, ich habe in Problem mit einem unserer Drucker. Vorweg, die meisten unserer Netzwerkdrucker laufen über einen Druckserver, dieser ...

HTML
Google maps
Frage von jensgebkenHTML20 Kommentare

Hallo Gemeinschaft, hab mal ne Frage zu Maps - habe es hinbekommen, dass ich einen iframe link erstellen kann ...

Switche und Hubs
PC Verursach Probleme im Netzwerk
gelöst Frage von spoboeSwitche und Hubs16 Kommentare

Hallo zusammen, folgene Situation macht mich inzwischen ratlos: In unserem Betrieb ist ein Rechner über die Hausverkabelung an einem ...