Как насчет этой одной строки:
общая форма: для %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) делать, если не существует %a\nul md %a & если существует %a* переместить %a* %a
этот мод будет делать только файлы txt (согласно OP): ... если существуют %a*.txt переместите %a*.txt %a
или можно улучшить это в летучей мыши, чтобы сделать «... если существует %%a*%1 переместите %%a*%1 %%a», чтобы разрешить сопоставление расширений в командной строке; что, вероятно, потребует точки в %1 (не хочется тестировать это прямо сейчас. Если бы это было проблемой, вы всегда могли бы использовать if%1!==! для выбора между общей формой и специфичной для %1 с уже поставленной точкой.
конечно, %a для командной строки, а для летучей мыши удваивайте %s как обычно (%a -> %%a).
это решение позволит избежать ошибок с пробелами в именах файлов, но вы получите подкаталог для каждой буквы (даже если не было файлов, начинающихся с этой конкретной буквы).
и теперь мне потребовалось больше времени, чтобы напечатать это, чем напечатать исходную строку выше... :-)
person
Richard
schedule
22.09.2011