Что нового

[Файловая система] Помогите написать Обработчик mp3 фаилов

bossdima

Новичок
Сообщения
5
Репутация
0
Помогите написать такой обработчик фаилов mp3
пример выполнения функции

просматривает папку c:\muzik bbk сам выбираешь по обзору какую надо папку
в этой папки лежат n количество фаилов .mp3
все фаилы начинаются 001.агутин.mp3
002.пугачева.mp3
003.филип.mp3
и т. д.
скриптик просматривает и встречаются пробел (фаил был удален в ручную ) в номирации фаилов пример примерно так
001.агутин.mp3
003.филип.mp3
004.руки верх.mp3
и т. д.
то скриптик переименовывает или проще сказать сдвигает номинацию
и получается так
001.агутин.mp3
002.филип.mp3
003.руки верх.mp3
и т. д.
а если появляется в этой папке новый фаилик (стрелки.mp3) то это фаилик в конец очереди
001.агутин.mp3
002.филип.mp3
003.руки верх.mp3
004.стрелки.mp3

имена фаиликов могут быть русские и английские
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
bossdima
Попробуйте так:
Код:
#include <File.au3>

$FolderMP3 = FileSelectFolder("Укажите путь к папке", 2)
If @error Then Exit
If FileFindFirstFile($FolderMP3 & "\*.mp3") = -1 Then
	ToolTip("В этой папке нет файлов *.mp3", Default, Default, "Переименование", 1, 1)
	Sleep(2000)
	Exit
EndIf
$aMP3 = _FileListToArray($FolderMP3, "*.mp3")
For $i = 1 To UBound($aMP3) - 1
	$sName = StringTrimRight($aMP3[$i], 4)
	If StringLeft($sName, 3) <> StringFormat("%03i", $i) Then
		If StringInStr($sName, ".") <> 0 Then
			$sName = StringTrimLeft($sName, StringInStr($sName, "."))
		EndIf
		FileMove($FolderMP3 & "\" & $aMP3[$i], $FolderMP3 & "\" & StringFormat("%03i", $i) _
				 & "." & $sName & ".mp3")
	EndIf
Next
ToolTip("Вce готово.", Default, Default, "Переименование", 1, 1)
Sleep(2000)
Exit
 
Автор
B

bossdima

Новичок
Сообщения
5
Репутация
0
madmasles сказал(а):
bossdima
Попробуйте так:
Код:
#include <File.au3>

$FolderMP3 = FileSelectFolder("Укажите путь к папке", 2)
If @error Then Exit
If FileFindFirstFile($FolderMP3 & "\*.mp3") = -1 Then
	ToolTip("В этой папке нет файлов *.mp3", Default, Default, "Переименование", 1, 1)
	Sleep(2000)
	Exit
EndIf
$aMP3 = _FileListToArray($FolderMP3, "*.mp3")
For $i = 1 To UBound($aMP3) - 1
	$sName = StringTrimRight($aMP3[$i], 4)
	If StringLeft($sName, 3) <> StringFormat("%03i", $i) Then
		If StringInStr($sName, ".") <> 0 Then
			$sName = StringTrimLeft($sName, StringInStr($sName, "."))
		EndIf
		FileMove($FolderMP3 & "\" & $aMP3[$i], $FolderMP3 & "\" & StringFormat("%03i", $i) _
				 & "." & $sName & ".mp3")
	EndIf
Next
ToolTip("Вce готово.", Default, Default, "Переименование", 1, 1)
Sleep(2000)
Exit

спасибо за скриптик отлично работает
 
Верх