Moin zusammen,
hier mal was in privater Sache, ich würde gerne MP3's zusammenführen von Hörspielen um, wenn diese in mehrere unterteilt sind, später in einer MP3 (in der richtigen Reihenfolge) sind.
Problem dabei, was ich bisher gemacht habe, fügt sie zwar zusammen aber nicht in der Reihenfolge wie sie sollten. Hat da noch jemand eine Idee?
AutoIt
Opt('MustDeclareVars', 1)
#include <StringConstants.au3>
#include <File.au3>
Global Const $Folders = _FileListToArray('Z:\Path_to_the_Folders', '*', $FLTA_FOLDERS, True)
For $Row = 1 to $Folders[0]
MergeMP3($Folders[$Row] & '\', True)
Next
;~ copy /b *.mp3 merge2.mp3
Func MergeMP3($Folder, $Upper = False)
Local $File
Local Const $RegEx = '([[:alpha:]]:.*\\|\\{2}.*\\|.*\/)(.*)\b'
Local Const $UpperFolder = StringRegExp($Folder, $RegEx, $STR_REGEXPARRAYMATCH)[1]
Local Const $Path = $Folder
Local $Files = _FileListToArray($Folder, '*.mp3', $FLTA_FILES, False)
_ArraySort($Files, 0, 1)
For $Row = 1 to $Files[0]
$File &= '"' & $Folder & $Files[$Row] & '" + '
Next
$File = StringTrimRight($File, 3)
If $Upper Then $Folder = StringTrimRight($Folder, StringLen($UpperFolder) + 1)
Local Const $Command = 'copy /b ' & $File & ' "' & $Folder & $UpperFolder & '.mp3"'
;~ Consolewrite($Command & @CRLF)
RunWait(@ComSpec & " /c " & $Command, $Path, @SW_HIDE)
EndFunc
Alles anzeigen
Ich habe hier bereits von der Quellenangabe (*.mp3) geändert, die MP3's in der richtigen Reihenfolge anzugeben (1.mp3 + 2.mp3 + ...) aber leider scheint die CMD da ihre ganz eigenen Ideen zu haben diese zusammen zu setzen.