abi108
Goto Top

Datei verschieben anhand des ersten beiden Buchstaben in Ordner und Unterordner?

Schönen guten Tag Miteinander

Gerne würde ich eine Batchdatei nutzen um .jpg Dateien zu verschieben.
Die Namen der Bilder beginnen mit Buchstaben oder Zahlen.

Herkunftspfad C:/Bildereingang
Zielpfad H:/Bildersammlung

Herkunft: es sollen alle Bilder im Haupt- und in allen Unterordnern kopiert werden.

Ziel:
Anhand der ersten beiden Symbole wird Ordner und Unterordner definiert
Das erste Symbol bestimmt Ordner, das zweite Symbol definiert den Unterordner:

Beispiel
Bild "Achja.jpg" soll kopiert werden und landet in
Ordner: a Unterordner: c
H:/Bildersammlung/a/c/Achja.jpg

Das Bild "1Tage.jpg"
Landet in
Ordner: 1 Unterordner: t
H:/Bildersammlung/1/t/1Tage.jpg

Für Zahlen gilt die selbe Logik.
Egal ob die Buchstaben gross oder klein geschrieben werden, die Ordnernamen verwenden Kleinschreibung.

Content-Key: 316778

Url: https://administrator.de/contentid/316778

Ausgedruckt am: 19.03.2024 um 05:03 Uhr

Mitglied: 131026
Lösung 131026 02.10.2016 aktualisiert um 19:20:58 Uhr
Goto Top
Moin.
@echo off & setlocal Enabledelayedexpansion
set "quelle=c:\Bildereingang"  
set "ziel=H:\Bildersammlung"  
for /f "delims=" %%a in ('dir /b /s /a-d "%quelle%\*.jpg"') do (  
    set "name=%%~na"  
    set "target=%ziel%\!name:~0,1!\!name:~1,1!"  
    if not exist "!target!" md "!target!" >nul  
    move "%%a" "!target!\"  
)
R.
Mitglied: 77559
Lösung 77559 03.10.2016 aktualisiert um 19:46:24 Uhr
Goto Top
Hallo Ranger,
er wollte doch kopieren, also in zeile 08 copy statt move.
Zum Thema Batch und groß/klein gibt es was von
Bastla
Oder von Rob van der Woude
Gruß
LotPings
Mitglied: 131026
Lösung 131026 03.10.2016 aktualisiert um 19:55:16 Uhr
Goto Top
Hallo LotPings,
Zitat von @77559:
er wollte doch kopieren, also in zeile 08 copy statt move.
er schreibt im ersten Satz aber auch "verschieben" es ist also nicht eindeutig was er nun tatsächlich will face-smile
Gerne würde ich eine Batchdatei nutzen um .jpg Dateien zu verschieben.

Für den TO
Ist aber kein Problem, für den Fall das kopiert statt verschoben werden soll einfach die Zeile 8 austauschen durch
copy "%%a" "!target!\"   
Mitglied: Abi108
Abi108 03.10.2016 um 20:22:52 Uhr
Goto Top
Herzlichen Dank für die rasche und korrekte Hilfe!
Ich habe tatsächlich kopieren gemeint, doch verschieben geschrieben :D
Mitglied: Abi108
Abi108 03.10.2016 um 20:24:16 Uhr
Goto Top
Auch Ihnen besten Dank!
Mich freut das Sie mir im Detail Achtsam geholfen haben,
so das meine ungenaue Formulierung noch gerade gebügelt wurde face-smile