Как насчет этой строки:
общая форма:
для% a in (a b c d e f g h i j klm n o p q r s t u v w x y z) делать, если не существует% a \ nulmd% a & если существует% a * move% a *% a
этот мод будет делать только текстовые файлы (согласно ОП):
... если существует% a * .txt move% a * .txt% a
или можно улучшить это в летучей мыши, чтобы сделать «... если существует %% a *% 1 move %% a *% 1 %% a», чтобы разрешить сопоставление расширений в командной строке; что, вероятно, потребует точку в% 1 (не хочется тестировать это прямо сейчас. Если бы это было проблемой, у вас всегда мог быть if% 1! ==!, чтобы выбрать между общей формой и% 1-специфичным с уже предоставленной точкой.
конечно,% a для командной строки и для летучей мыши, удвойте% s как обычно (% a -> %% a).
это решение позволит избежать ошибок с пробелами в именах файлов, но вы получите подкаталог для каждой буквы (даже если не было файлов, начинающихся с этой конкретной буквы).
и теперь у меня заняло больше времени набрать это, чем набрать оригинальную строку выше ...: -)