Wie wäre es, wenn dies eine Zeile wäre:
die allgemeine Form: for %a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if not exist %a \nul md %a & if exist %a* move %a* %a
diese Mod wird nur die txt-Dateien (nach dem OP) zu tun: ... if exist %a*.txt move %a*.txt %a
oder man könnte dies in einer Fledermaus erweitern, um "...if exist %%a*%1 move %%a*%1 %%a" zu tun, um den Abgleich von Erweiterungen auf der Kommandozeile zu ermöglichen; was wahrscheinlich den Punkt in %1 erfordern würde (habe gerade keine Lust, das zu testen. Wenn das ein Problem wäre, könnte man immer ein if%1!==! haben, um zwischen der allgemeinen Form und einer %1-spezifischen mit dem Punkt zu wählen.
natürlich ist %a für die Befehlszeile und für eine Fledermaus, verdoppeln Sie die %s wie üblich (%a -> %%a).
Diese Lösung vermeidet Fehler mit Leerzeichen in Dateinamen, aber Sie haben dann ein Unterverzeichnis für jeden Buchstaben (auch wenn es keine Dateien gibt, die mit diesem Buchstaben beginnen).
und ich habe jetzt länger gebraucht, um das hier zu tippen, als für die ursprüngliche Zeile oben... :-)