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

gelöst Mit DIR nach Bild aufgenommen am sortieren

Mitglied: Haegar75

Haegar75 (Level 1) - Jetzt verbinden

26.09.2008, aktualisiert 18.10.2012, 7234 Aufrufe, 5 Kommentare

Hallo Leute,
ich hoffe ihr könnt mir helfen. Im Windows-Explorer kann man sich anzeigen lassen wann ein Bild aufgenommen wurde. Mit DIR kann man laut Beschreibung aber nur nach dem Datum der letzten Änderung sortieren was ja schon evtl durch kopieren bzw brennen verändert wird. Kann man die Windows-Funktion irgendwie in einer Batch nachbauen? Ich möchte Bilder anhand dieses Kriteriums sortieren und kopieren.. Welche andere Programmiersprache wäre dazu geeignet?
Mitglied: mgoelike
26.09.2008 um 20:21 Uhr
Hallo,

brauchst Du gar nicht. Im Windows-Explorer die Ansicht auf Details stellen. Anschließend per Rechtsklick auf Sortierleiste (wo Name usw. steht) klicken. Schon erscheint eine Liste mit zusätlich einblendbaren Informationen. Ganz unten auf Weitere klicken und schon kann man viele zusätzliche Informationen immer anzeigen lassen. Unter anderem sogar Bild aufgenommen an usw.

mfg
Bitte warten ..
Mitglied: Haegar75
26.09.2008, aktualisiert 18.10.2012
Ja, das ist mir schon klar dass das im Windows-Explorer geht. Wollte aber sowas machen https://www.administrator.de/forum/bilder-automatisch-sortieren-per-batc ...
und dafür die genaue Information der Bildaufnahme nutzen. Aber DIR war nun mal schon lange vor den Digitalkameras da..
Bitte warten ..
Mitglied: bastla
26.09.2008 um 22:53 Uhr
Hallo Haegar75!

Aber DIR war nun mal schon lange vor den Digitalkameras da..
... was sich aber durch ein wenig VBScript ausgleichen lassen sollte :
01.
@echo off & setlocal 
02.
 
03.
set "QuellDir=D:\Fotos\ungeordnet" 
04.
set "Typ=jpg" 
05.
set "ZielDirRoot=D:\Fotos\sortiert" 
06.
 
07.
set G=%temp%\GetDatePictureTaken.vbs 
08.
> %G% echo Set Fld=CreateObject("Shell.Application").Namespace(WScript.Arguments(0)) 
09.
>>%G% echo For Each F In Fld.Items: WScript.Echo """"^&F.Path^&""" " ^& Fld.GetDetailsOf(F,25):Next 
10.
 
11.
for /f "tokens=1-2" %%a in ('cscript //nologo %G% "%QuellDir%"^|findstr /i ".%Typ%"') do ( 
12.
    if not exist "%ZielDirRoot%\%%b" md "%ZielDirRoot%\%%b" 
13.
    echo move %%a "%ZielDirRoot%\%%b"	 
14.
)
Falls Du die Datumsschreibweise "JJJJ-MM-TT" bevorzugst, verwende folgende Zeile als Ersatz für die obige Zeile 9:
01.
>>%G% echo For Each F In Fld.Items: D=Fld.GetDetailsOf(F,25): WScript.Echo """"^&F.Path^&""" " ^& Mid(D,7,4)^&"-"^&Mid(D,4,2)^&"-"^&Left(D,2):Next
Ähnlich wie in dem von Dir verlinkten Beitrag wird auch in diesem Batch zur Vorsicht der Verschiebebefehl durch das vorangestellte "echo" entschärft (der Befehl wird nur angezeigt, aber nicht ausgeführt) - das Erstellen der Ordner im Zielpfad sollte aber eigentlich keine Probleme bewirken und erfolgt daher tatsächlich.

Das im Batch enthaltene VBScript setzt XP voraus - unter Vista habe ich nicht getestet, es könnte aber in der Zeile 8 der Wert 12 anstelle von 25 erforderlich sein (siehe Auflistung hier) ...

Grüße
bastla
Bitte warten ..
Mitglied: Haegar75
27.09.2008 um 11:52 Uhr
Hi!Danke! Funktionierte auf Anhieb!Das VBScript wird mir immer symphatischer!Ist ja der Hass was für Attribute es bei Vista alle gibt.
Wie kann ich die Zeile 11 ändern, dass evtl. auch Unterordner mit durchforstet werden?
Ich würde noch gerne optional die Dateien nach der "Stunde" sortiert in Verzeichnissen unterhalb des Tages ablegen. Evtl. mit MsgBox Typ 4 abfragen.. Hintergrund: Fotos von z.B Familienfesten die mit mehreren Kameras gemacht wurden in einen zeitlichen Verlauf zu bekommen. (das nutzt natürlich nix wenn so ein Hämpel das Datum nicht eingestellt hat an der Kamera.
Bitte warten ..
Mitglied: bastla
27.09.2008 um 12:38 Uhr
Hallo Haegar75!

Wie kann ich die Zeile 11 ändern, dass evtl. auch Unterordner mit durchforstet werden?
Das Einfachste wäre es, eine "for"-Schleife "herumzuwickeln" - etwa:
01.
for /f "delims=" %%i in ('dir /s /b /ad "%QuellDir%"') do ( 
02.
    for /f "tokens=1-2" %%a in ('cscript //nologo %G% "%%i"^|findstr /i ".%Typ%"') do ( 
03.
        if not exist "%ZielDirRoot%\%%b" md "%ZielDirRoot%\%%b" 
04.
        echo move %%a "%ZielDirRoot%\%%b" 
05.
06.
)
Ich würde noch gerne optional die Dateien nach der "Stunde" sortiert in Verzeichnissen unterhalb des Tages ablegen.
Dazu muss die Rückgabe des VBScripts etwas angepasst werden - die Zeile 9 müüste dann etwa so ausssehen:
01.
>>%G% echo For Each F In Fld.Items: WScript.Echo """"^&F.Path^&""" " ^& Replace(Fld.GetDetailsOf(F,25),":"," "):Next
Wenn Du die andere Datumsschreibweise bevorzugst (ist mir schon wegen der besseren Sortierbarkeit sympathischer), dann so:
01.
>>%G% echo For Each F In Fld.Items: D=Fld.GetDetailsOf(F,25): WScript.Echo """"^&F.Path^&""" " ^&Mid(D,7,4)^&"-"^&Mid(D,4,2)^&"-"^&Left(D,2)^&Replace(Mid(D,11),":"," "):Next
In beiden Fällen ist die "for"-Schleife auch noch anzupassen, damit die Stunde als %%c und die Minute als %%d verwendet werden können:
01.
for /f "tokens=1-4" %%a in ('cscript //nologo %G% "%QuellDir%"^|findstr /i ".%Typ%"') do (
In der Version mit Berücksichtigung der Unterordner wäre dann auch noch (wie oben gezeigt) "%QuellDir%" durch "%%i" zu ersetzen.

Bei Unterteilung auch nach Stunden wäre das Ziel (für "md" und "move") jeweils
01.
"%ZielDirRoot%\%%b\%%c"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Linux
Aufgenommene Fotos von Raspberry pi
gelöst Frage von Christian33Linux11 Kommentare

Hallo zusammen Ich habe bei meinem Raspi ein Kameramodul angeschlossen und erste Fotos gemacht, nun die Frage : wo ...

Apple
Video auf iPhone wird 2 sec aufgenommen
Frage von belamionixApple2 Kommentare

Hi, ich hoffe die Frage gehört hier her. Mein iPhone 5s bereitet mit momentan ein wenig sorgen, wenn ich ...

C und C++
Sortieren von Zeiten
Frage von DippsC und C++3 Kommentare

Hallo Leute bin gerade komplett ratlos. Ich habe 8 Textboxen wo Zeiten über Serial ein getragen werden Z1.text bis ...

PHP
Team Mitglieder, in Rangfolge sortieren
gelöst Frage von vServerPHP9 Kommentare

Hallo, ich habe ein Problem mit diesem Plugin, und zwar soll es folgendes können. Die 3 Leute von der ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 7 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 12 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server24 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...