Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Files bzw. Fotos per Batch kopieren

Frage Entwicklung Batch & Shell

Mitglied: truecolor

truecolor (Level 1) - Jetzt verbinden

01.12.2010 um 10:59 Uhr, 3670 Aufrufe, 3 Kommentare

Ich verschiebe meine geschossenen Fotos von der Speicherkarte auf meiner Platte und sortiere sie chronologisch. Sprich ... ein Foto vom 01.12.2010 landet dann auf der Platte im Verzeichnispfad

D:\ 2010 \ 12 \ 01

Noch nicht vorhandene Verzeichnisse muss ich neu anlegen und die Fotos per Hand in die Verzeichnisse verschieben. Bei vielen Bildern gleichen Datums ist das keine all zu große Arbeit.

Haben sich aber viele Fotos aus verschiedenen Tagen auf der Speicherkarte angesammelt, beginnt die Sisyphus-Arbeit immer wieder von Vorne.

Leider habe ich noch nichts fertiges gefunden.

Ein Grund, das mal als Batch zu automatisieren.

Ist so was überhaupt per Batch möglich(?), denn der Batch müsste auch prüfen können, ob ein Verzeichnis/eine Datei schon vorhanden ist.
Mitglied: bastla
01.12.2010 um 11:37 Uhr
Hallo truecolor!

Etwa so (ungetestet):
01.
@echo off & setlocal 
02.
set "Quelle=E:\DCIM" 
03.
set "Ziel=D:\" 
04.
 
05.
for %%i in ("%Quelle%\*.jpg") do for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do ( 
06.
    echo md "%Ziel%%%c\%%b\%%a" 2>nul 
07.
    echo if not exist "%Ziel%%%c\%%b\%%a\%%~nxi" (move "%%i" "%Ziel%%%c\%%b\%%a\") 
08.
09.
pause
Das Erstellen der Zielverzeichnisse und die Verschiebebefehle werden (zum Testen und solange das "echo" in den Zeilen 6 und 7 steht) nur angezeigt ...
denn der Batch müsste auch prüfen können, ob ein Verzeichnis/eine Datei schon vorhanden ist.
Vorhande Verzeichnisse sind kein Problem (die Fehlermeldung beim Versuch, ein solches Verzeichnis nochmals zu erstellen, wird einfach mit "2>nul" unterdrückt). Gleichnamige Dateien würden nicht übertragen, sondern es könnte durch Hinzufügen von
 else (echo Datei "%Ziel%%%c\%%b\%%a\%%~nxi" bereits vorhanden!)
zur Zeile 7 eine entsprechende Meldung erzeugt werden.

Zu beachten wäre noch, dass die Angabe des Zielpfades (in Zeile 3) mit "\" enden muss.

Grüße
bastla
Bitte warten ..
Mitglied: laster
01.12.2010 um 11:47 Uhr
Hallo,

zuerst musst Du aus dem Dateinamen des Fotos die Datumsinformationen extrahieren.
Hier ein Beispiel für die Extraktion aus %date%:
01.
echo %date% 
02.
md %date:~-4%\%date:~-7,2%\%date:~-10,2%
Der erste Befehl gibt 01.12.2010 zurück.
Der zweite Befehl erzeugt dann die von Dir gewünschte Verzeichnisstruktur.
Nun musst Du noch aus Deinen Fotodateien die Datumsfelder extrahieren...
Das ganze in eine Batchdatei:
01.
cd /d %FotoQuelle% 
02.
dir /b > liste.txt 
03.
for /F %%i IN (liste.txt) do call :PROC1 %%i 
04.
exit 
05.
:PROC1 
06.
echo [%1] 
07.
set ZIEL=%1:~-4%\%1:~-7,2%\%1:~-10,2% 
08.
md %ZIEL% 
09.
copy %1 %ZIEL% 
10.
goto :EOF
.. so ungefähr könntest Du es machen.

viel Erfolg und Grüße
LS
Bitte warten ..
Mitglied: truecolor
01.12.2010 um 12:39 Uhr
Hallo bastla und laster,

also erst mal Respekt, dass ich so schnell eine Antwort bekommen habe.

Dann auch noch zwei Lösungen ... superklasse.

bastla´s Lösung hab ich schon getestet und bin zu 100% zufrieden.

laster´s Lösung führt zum gleichen Ziel, wenn er auch mit Hilfe einer DIR-Datei arbeitet.

Aber wie so oft ist das Ziel wichtig und weniger der Weg dorthin

Ihr habt mir beide viel Arbeit erspart.

Vielen Dank euch Beiden.
Bitte warten ..
Ähnliche Inhalte
Apple
Fotos auf iPhone verschieben (3)

Frage von Snowboarder1994 zum Thema Apple ...

Windows Systemdateien
Fotos mit beschädigtem Format retten? (15)

Frage von Freankh zum Thema Windows Systemdateien ...

Multimedia
gelöst Mediendatenbank (Fotos, Videos) mit Verschlagwortung (2)

Frage von MrCount zum Thema Multimedia ...

Batch & Shell
gelöst Skript - automatisiert Fotos von Videos erstellen (5)

Frage von Schnoedl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
gelöst 802.1X-Authentifizierung (17)

Frage von Alex29 zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Proxy Server Settings Cloud + EWS (16)

Frage von SomebodyToLove zum Thema Exchange Server ...