Datenträger nach Filmen, MP3s, Bildern oder docx durchsuchen - Auflistung inkl. Filmlänge, Abmessungen, Interpret, Kamermodell, Autor etc.. in eine .csv speichern
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
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]
(ich verwende nur die Indexwerte 0,21 u 26)
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
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
<head>
<meta name="author" content="urobe73_administrator.de">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<title>Edis Dateiliste</title>
<HTA:APPLICATION
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
>
</head>
<script language="VBScript">
' Version 02_04_2010 - 12:00
Set objFSO = CreateObject("Scripting.FileSystemObject")
kopfzeile = 0
function meineVids(pfad,dateiname)
if kopfzeile = 0 then
set logbuch1 =objFSO.opentextfile(dateiname, 2, true,0)
logbuch1.write "Ordnername;Filmtitel;Filmlänge;Abmessungen"
logbuch1.close
kopfzeile = 1
end if
If radiobutton(0).Checked Then
showall = "ja"
End If
If radiobutton(1).Checked Then
showall = "nein"
End If
Set objFolder = objFSO.GetFolder(pfad)
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder in colSubfolders
on Error resume next
ordnerzeichen = ordner_zeichen.value
vollername = objFSO.GetAbsolutePathName(objSubfolder)
if showAll = "ja" then
ausgabe2 = left(vollername,ordnerzeichen) & punktaln(vollername,ordnerzeichen) & vbcrlf
end if
ausgabe1 = ausgabe2 & detail(vollername, showall)
set logbuch1 =objFSO.opentextfile(dateiname, 8, true,0) ' 8 zum anfügen
logbuch1.write ausgabe1
logbuch1.close
dateinameneu = dateiname
call meineVids(vollername,dateinameneu)
Next
end function
function punktaln(ordnername, anzeigezeichen)
anzeigezeichen = anzeigezeichen+1 'damit er checkt, dass anzeigezeichen eine zahl ist...
if len(ordnername) >= anzeigezeichen then
anzeige = "... "
end if
punktaln = anzeige
end function
function Detail(ordnername, lang)
dateitypen = split(Dateityp.value,";")
showAll = lang
If urlbutton(0).Checked Then
link = "ein"
End If
If urlbutton(1).Checked Then
link = "aus"
End If
durchlauf = 1
Dim arrHeaders(34)
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(ordnername)
For i = 0 to 33
arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i)
Next
For Each strFileName in objFolder.Items
ordnerzeichen = ordner_zeichen.value
dateizeichen = datei_zeichen.value
for i = 0 to UBound(dateitypen)
if instr(1, objFolder.GetDetailsOf(strFileName, 2), dateitypen(i), 1) >= 1 then
nemmas = 1
end if
next
if nemmas = 1 then
if durchlauf = 1 AND showAll <> "ja" then
feedback = feedback & vbcrlf & left(ordnername,ordnerzeichen) & punktaln(ordnername,ordnerzeichen) & vbcrlf
feedback_DVD = feedback
durchlauf = 2
end if
feedback = feedback & " ;" & left(objFolder.GetDetailsOf(strFileName, 0),dateizeichen) _
& punktaln(objFolder.GetDetailsOf(strFileName, 0),dateizeichen) & "; " & objFolder.GetDetailsOf(strFileName, 21) _
& ";(" & objFolder.GetDetailsOf(strFileName, 26) & ");"
if link = "ein" then
feedback2 = Chr(34) & "=hyperlink(" & Chr(34) & Chr(34)& ordnername & "\" & objFolder.GetDetailsOf(strFileName, 0) _
& Chr(34) & Chr(34) & ";" & Chr(34) & Chr(34) & "klick " & Chr(34) & Chr(34)& ")" & Chr(34)
end if
feedback = feedback & feedback2 & vbcrlf
if instr(1, objFolder.GetDetailsOf(strFileName, 0),"vob", 1)>=1 then feedback = feedback_DVD & "ist eine DVD" & vbcrlf
end if
nemmas = 0
Next
Detail = feedback
end function
Sub Aufgabe1
woissndes = pfad.value
dateiname = replace(woissndes,"\","_")
dateiname = replace(dateiname,":","_")
dateiname = dateiname & "_" & dateityp.value & ".csv"
call meineVids(woissndes,dateiname)
DataArea.InnerHTML = "<a href='" & dateiname & "'>Datei</a> erfolgreich angelegt"
End Sub
</script>
<body bgcolor=#FAF8AF>
<font face=verdana>
Pfad: <input type="Text" name="pfad" value="G:\" size="" maxlength=""><br><br>
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>
<font size = 1>
(es können auch mehrere Typen, durch <b>;</b> getrennt, angegeben werden!)<br>
Beispiele: Irfan;Windows Media;excel;word;winamp ... oder mit der Dateierweiterung (einzeln oder kombiniert): doc;zip;rar;xlsx;mp3;avi</font><br><br>
Die Anzeige der Ordner wird auf <input type="Text" name="ordner_zeichen" value="120" size="" maxlength=""> eingeschränkt!<br><br>
Die Anzeige der Dateinamen wird auf <input type="Text" name="datei_zeichen" value="100" size="" maxlength=""> eingeschränkt!<br><br>
Sollen auch Ordner angezeigt werden, die den gewünschten Dateityp NICHT enthalten?
Ja <input type="radio" name="radiobutton" value="0"> Nein <input type="radio" name="radiobutton" value="1" checked><br><br>
Sollen in der .csv-Datei Links zu den Dateien erscheinen?
Ja <input type="radio" name="urlbutton" value="0"> Nein <input type="radio" name="urlbutton" value="1" checked><br><br>
<br>
<input type="button" value="Datei anlegen" name="run_button" onClick="Aufgabe1"><br>
<font size = 1>(Die Verarbeitung kann mehrere Minuten dauern... Bitte um etwas Geduld)</font>
<br><br><br>
<b>
<div id="dataarea"></div>
</b>
</font>
</body>
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]
Beispiel1:
& ";(" & objFolder.GetDetailsOf(strFileName, 24) & ");"
Beispiel2:
& ";(" & 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:
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 139742
Url: https://administrator.de/contentid/139742
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
4 Kommentare
Neuester Kommentar