Vadikan, попробовал cmd-файл (Windows-7); увы:
"Rename-Item" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
(глубже пока не полез).
Цитата Iska:
Тем паче, что глобальная задача опять-таки неясна »
|
Извиняюсь, уже спал на ходу когда увидел и скрипт, и вопрос -- почему и ответил туманно и вкратце.
Да, задача чисто утилитарная: перемешивание музыкальных файлов, которые затем кидаются на флэшку формата FAT32 (плеер в автомобиле воспроизводит их в натуральном порядке, т.е. в порядке следования их в таблице FAT) и могут быть затем переименованы назад (почему и желательно было одинаковое число цифр: для автоматизации) с сохранением случайности порядка в таблице FAT.
.m3u -- у плеера с ними какие-то проблемы (похоже что в случае, если файл, стоящий на очереди, удалён с флэшки: после этого идёт сообщение типа "Неверный формат" и флэшку приходится перезаливать, поскольку перестаёт играть её вообще). Опять же список надо всё равно сортировать, что и отметил
Vadikan.
Случайный порядок воспроизведение -- да, есть; но у алгоритма конкретного плеера оказались "свои музыкальные предпочтения": даже при количестве файлов порядка тысячи (5 знаков в исходном вопросе я взял с запасом, зная что на сложность решения это не должно повлиять) некоторые композиции он может прокрутить по пять раз в час, а некоторые -- раз в пару месяцев.
Промежуточный выход был найден: предварительная сортировка по размеру и скидывание в этом порядке (файлы, подготовленные к записи на флэшку, лежат жёсткими ссылками в отдельном каталоге и потихоньку пополняются, файлы же, удалённые с флэшки, переносятся отсюда в другую папку чтобы не зацепить их снова; установленная утилита LinkShellExtention зрительно проявляет жёсткие ссылки в основном каталоге и сразу видно, что файл или уже лежит в папке с подготовленными, или что заведомо не должен там лежать). Но некоторые длинные одинаковые композиции в разных вариациях оказались достаточно близки друг к другу.
А тут как раз надо перезалить флэшку -- и я рискнул задать вопрос, зная что каких-то трудностей он не должен вызвать (правда, думал что будет использован цикл for и переменная %random% -- то направление, которое я собирался попробовать, не сообразив что можно использовать dir с передачей результата на дальнейшую обработку, как в последнем скрипте у
Vadikan; извинения за уточнение с восклицательными знаками: понятно что
в данном случае это некритично, и пяток-десяток файлов можно и вручную потасовать).