FreeBasic
Главная
Вход
Регистрация
Среда, 16.10.2024, 07:29Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Рандомное переименование файлов
haavДата: Воскресенье, 25.11.2018, 14:06 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Репутация: 49
Статус: Offline
Привет всем!

После покупки примитивного mp3 плеера:



я закинул на флешку пару сотен песен и скажем мне не понравилось в каком порядке они воспроизводятся (особенно когда песни группируются по авторам). Мне хотелось что-то типа сборника, но как я не сортировал в винде (по размеру, по имени ...) все равно получалась хрень.  Сам плеер воспроизводит песни в том порядке, в котором файлы записаны на флешку. То есть , при копировании стояли песни например одного автора, потом другого , так они и будут проигрываться в плеере. Я понял , что мне просто необходима утилита, способная случайно переименовывать файлы. По сути мне нужно просто их случайно перемешать. В итоге написал простенькую программку для переименования Mp3 файлов. Для переименования нужно просто закинуть программу в ту же папку, где находятся Mp3 файлы (все файлы должны быть в одном каталоге) . Я использовал утилиту в Linux , зная что в винде функция NAME хреново работает с русскими именами файлов (оказалось , что у меня устаревшие данные и на винде NAME теперь нормально работает wacko). В итоге получится  каталог с именами файлов: 1.mp3, 2.mp3, 3.mp3 .... Кто-то скажет , что за хрень, ведь файлы потом непонятно как идентифицировать. Дело в том, что плеер все равно не отображает название, так что пофиг какое имя имеет файл.

Сама утилита:

Код
Dim sF As String = Dir("*.mp3",32)

dim ic as long

if sF = "" then end

Do  

   name(sF,"aa" & ic)
   
   ic += 1
   
   sF = Dir()  
   
Loop Until sF = ""

Redim shared as Long iIndex(ic)

for i as long = 1 to ic
   
   iIndex(i) = i

Next

for i as long = 1 to 100000
   
   dim j as long = Int(ic*Rnd)+1
   
   dim k as long = Int(ic*Rnd)+1
   
   dim iTemp as long = iIndex(j)
   
   dim iTemp2 as long = iIndex(k)
   
   iIndex(j) = iTemp2
   
   iIndex(k) = iTemp

Next

for i as long = 0 to ic

   name("aa" & i , iIndex(i+1) & ".mp3")
   
Next

? "OK!!!!!!!!!!!!!!!!!!!"

Sleep


Я понимаю, что утилита имеет узкую направленность, но вдруг кому пригодится.
Прикрепления: 8435308.png (25.3 Kb)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
DarkDemonДата: Четверг, 29.11.2018, 09:15 | Сообщение # 2
Полковник
Группа: Друзья
Сообщений: 194
Репутация: -2
Статус: Offline
Полезная и простая прога.
 
  • Страница 1 из 1
  • 1
Поиск: