Dateien anhand des Anfangsbuchstaben in unterschiedliche Ordner verschieben

Eine Aufgabe, die mir schon ein paar mal bevor stand und händisch einfach eine Katastrophe ist: Ein paar 100 oder 1000 Dateien sollen anhand des Anfangsbuchstaben ihres Dateinamen in entsprechende Ordner von A-Z einsortiert werden.

Dazu musste eine Batch-Lösung her, was aber meine Kenntnisse der Batch-Programmierung etwas überschritt, daher musste Google bei der Suche helfen…was etwas zeitaufwendiger war, denn diese spezielle Anforderung kommt wohl nicht so häufig vor. Herausgekommen ist folgendes Script, welches vom Autor rubberman auf administrator.de veröffentlicht wurde. Ich hab nur das copy gegen move getauscht und natürlich die Pfade angepasst.

@echo off &setlocal
set "quelle=c:\files"
set "ziel=c:\sort"
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!"
  move /y "!quelle!\!file!" "!ziel!\!first!\"
  endlocal
)

Dieser Beitrag wurde unter Coding, Software, Technik abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.