Dateien in alphabetische Ordner sortieren
Hallo Forumsgemeinde,
leider habe ich sehr wenig Ahnung von Batchdateien etc.
Deswegen wird meine Frage vermutlich nur ein leises Schmunzeln erzeugen, aber ich habe im Netz nichts Ansprechendes gefunden und war von dem hier gezeigten Wissen sehr beeindruckt.
Mein Problem: Ich habe einen einzigen Ordner mit sehr vielen Dateien, die ich mittels einer Batch in vordefinierte Ordner (A bis Z) alphabetisch kopieren möchte.
Alle Dateien aus dem Quellordner mit dem Anfangsbuchstaben A sollen in den Zielordner 'A' kopert werden. Danach alle Dateien mit dem Anfangsbuchstaben B in den Ordner 'B' etc. bis 'Z'.
Da ich das häufiger machen muss, ist eine über den Explorer durchgeführte Kopierorgie überhaupt nicht lustig.
Für etwaige Lösungen wäre ich sehr dankbar.
Ciao
symei3
leider habe ich sehr wenig Ahnung von Batchdateien etc.
Deswegen wird meine Frage vermutlich nur ein leises Schmunzeln erzeugen, aber ich habe im Netz nichts Ansprechendes gefunden und war von dem hier gezeigten Wissen sehr beeindruckt.
Mein Problem: Ich habe einen einzigen Ordner mit sehr vielen Dateien, die ich mittels einer Batch in vordefinierte Ordner (A bis Z) alphabetisch kopieren möchte.
Alle Dateien aus dem Quellordner mit dem Anfangsbuchstaben A sollen in den Zielordner 'A' kopert werden. Danach alle Dateien mit dem Anfangsbuchstaben B in den Ordner 'B' etc. bis 'Z'.
Da ich das häufiger machen muss, ist eine über den Explorer durchgeführte Kopierorgie überhaupt nicht lustig.
Für etwaige Lösungen wäre ich sehr dankbar.
Ciao
symei3
Please also mark the comments that contributed to the solution of the article
Content-ID: 294921
Url: https://administrator.de/contentid/294921
Printed on: December 7, 2024 at 08:12 o'clock
10 Comments
Latest comment
Moinsen,
gibt's zwar schon dutzende Threads zum selben Thema hier, aber ich gebs auf dauernd drauf hinzuweisen, bringt ja eh nichts ... also here you go:
Gruß jodel32
gibt's zwar schon dutzende Threads zum selben Thema hier, aber ich gebs auf dauernd drauf hinzuweisen, bringt ja eh nichts ... also here you go:
@echo off & setlocal enabledelayedexpansion
set "quelle=c:\quelle"
set "ziel=c:\ziel"
for %%a in ("%quelle%\*") do (
set "name=%%~na"
set "target=%ziel%\!name:~0,1!"
if not exist "!target!" md "!target!"
copy "%%a" "!target!"
)
Gruß jodel32
Hallo,
oder auch so (falls die Anfangsbuchstaben nicht unbedingt Großbuchstaben sind):
Die Batchdatei kann im Verzeichnis mit deinen Dateien liegen, ohne selbst kopiert zu werden.
Grüße
rubberman
oder auch so (falls die Anfangsbuchstaben nicht unbedingt Großbuchstaben sind):
@echo off &setlocal
set ^"LF=^
^" Die Leerzeile oben ist kritisch - Nicht entfernen!
for /f "delims=" %%i in ('dir /a-d /b') do if "%%i" neq "%~nx0" (
set "file=%%i"
set "first="
for /f skip^=1^ delims^=^ eol^= %%i in (
'2^>^&1 cmd /von /c fc "!LF!!file:~,1!!LF!" nul'
) do if not defined first set "first=%%i"
setlocal EnableDelayedExpansion
if not exist "!first!\" md "!first!"
copy /y "!file!" "!first!\"
endlocal
)
Grüße
rubberman
Macht ja nix
Wenn du die Batchdatei nicht im Quellverzeichnis haben willst, dann so:
Grüße
rubberman
Wenn du die Batchdatei nicht im Quellverzeichnis haben willst, dann so:
@echo off &setlocal
set "quelle=f:\1-21\ein-ordner"
set "ziel=f:\1-21\2016"
set ^"LF=^
^" Die Leerzeile oben ist kritisch - Nicht entfernen!
for /f "delims=" %%i in ('dir /a-d /b "%quelle%"') do (
set "file=%%i"
set "first="
for /f skip^=1^ delims^=^ eol^= %%i in (
'2^>^&1 cmd /von /c fc "!LF!!file:~,1!!LF!" nul'
) do if not defined first set "first=%%i"
setlocal EnableDelayedExpansion
if not exist "!ziel!\!first!\" md "!ziel!\!first!"
copy /y "!quelle!\!file!" "!ziel!\!first!\"
endlocal
)
rubberman