Re: Umlaute in Playlisten
Verfasst: 7. Oktober 2015 17:28
von mkaleu
Hallo, leider hat sich osterkamp24 nicht mehr gemeldet. Ob er eine Lösung hat?
Ich bin es jedenfalls Leid mit Umlauten und Sonderzeichen und habe meine kompletten Titel und Playlisten bereinigt. Alles was unter ASCII 32 und größer 127 ist wird in passende ASCII Zeichen umgewandelt. Mit denselben Einstellungen habe ich dann auch noch die Playlisten durchlaufen lassen. Automatisch mit Autoit. Nun läuft es einwandfrei.
Mike
$dirs = @scriptdir
$dirs = StringReplace($dirs, "\Debug","")
HotKeySet("{ESC}", "_DoNothing")
$afile = ""
$alle_verz = ""
$unterverzeichnis = ""
$alle_verz = _FileListToArray($dirs, "*",2)
if not @error then
For $v = 1 to $alle_verz[0]
$verz_aktuell = $dirs & "\" & $alle_verz[$v]
$u_verz = ""
$u_verz = _FileListToArray($verz_aktuell, "*.mp3",1)
if not @error then
For $v_u = 1 to $u_verz[0]
;if $v_u = 1 = 1 then msgbox(4096,"name ", $verz_aktuell)
;msgbox(4096,"name ", $u_verz[$v_u])
$geaendert = false
$name = $u_verz[$v_u]
$noasc = false
For $x = 1 to StringLen($name)
$y = Stringmid($name,$x,1)
$yy = Asc($y)
if asc($y) < 32 or asc($y) > 127 then
$noasc = true
$x = StringLen($name)
endif
next
if $noasc then
;msgbox(4096,$v_u, $y & " " & $yy & " " & $name)
$namealt = $name
$name = _umlaute($name)
if $name <> $namealt then $geaendert = true
vorspann_pruefen ()
$name = $dirs & "\" & $unterverzeichnis & "\" & $name
;msgbox(4096,"name ", $dirs & "\" & $alle_verz[$v] & "\" & $namealt & @CRLF & " nach " & @CRLF & $name)
FileMove($dirs & "\" & $alle_verz[$v] & "\" & $namealt,$name,9)
ToolTip($v_u & " " & @CRLF & $dirs & "\" & $alle_verz[$v] & "\" & $namealt & @CRLF & $name ,100,100)
endif
next
endif
next
EndIf
MsgBox(4096,"Ergebnis","Alle Dateien Umlaute geaendert",5)
exit
func _umlaute ($zeile)
$zeile = stringreplace($zeile,Chr(220),"Ue ",0,1)
$zeile = stringreplace($zeile,Chr(214),"Oe ",0,1)
$zeile = stringreplace($zeile,Chr(196),"Ae",0,1)
$zeile = stringreplace($zeile,Chr(252),"ue",0,1)
$zeile = stringreplace($zeile,Chr(246),"oe",0,1)
$zeile = stringreplace($zeile,Chr(228),"ae",0,1)
$zeile = stringreplace($zeile,Chr(223),"ss",0,1)
$zeile = stringreplace($zeile,Chr(243),"o",0,1)
$zeile = stringreplace($zeile,"[","(",0,1)
$zeile = stringreplace($zeile,"]",")",0,1)
$zeile = stringreplace($zeile,"..",".",0,1)
$zeile = stringreplace($zeile," "," ",0,1)
$zeile = stringreplace($zeile," "," ",0,1)
$zeile = stringreplace($zeile," .mp3",".mp3",0,1)
$zeile = stringreplace($zeile,Chr(223),"e",0,1)
$zeile = stringreplace($zeile,Chr(234),"e",0,1)
$zeile = stringreplace($zeile,Chr(224),"a",0,1)
$zeile = stringreplace($zeile,Chr(233),"e",0,1)
$zeile = stringreplace($zeile,Chr(179),"'",0,1)
$zeile = stringreplace($zeile,Chr(243),"0",0,1)
$zeile = stringreplace($zeile,Chr(225),"a",0,1)
$zeile = stringreplace($zeile,Chr(192),"A",0,1)
$zeile = stringreplace($zeile,Chr(180),"'",0,1)
$zeile = stringreplace($zeile,Chr(250),"u",0,1)
$zeile = stringreplace($zeile,Chr(249),"u",0,1)
$zeile = stringreplace($zeile,Chr(176),"'",0,1)
$zeile = stringreplace($zeile,Chr(241),"n",0,1)
$zeile = stringreplace($zeile,Chr(232),"e",0,1)
$zeile = stringreplace($zeile,Chr(231),"c",0,1)
$zeile = stringreplace($zeile,Chr(242),"o",0,1)
$zeile = stringreplace($zeile,Chr(193),"A",0,1)
$zeile = stringreplace($zeile,Chr(146),"'",0,1)
$zeile = stringreplace($zeile,Chr(200),"E",0,1)
$zeile = stringreplace($zeile,Chr(202),"E",0,1)
$zeile = stringreplace($zeile,Chr(231),"c",0,1)
$zeile = stringreplace($zeile,Chr(242),"o",0,1)
$zeile = stringreplace($zeile,Chr(227),"a",0,1)
$zeile = stringreplace($zeile,Chr(239),"i",0,1)
return $zeile
endfunc
Func _DoNothing()
msgbox(4096,"name ", $u_verz[$v_u])
EndFunc ;==>_DoNothing
func vorspann_pruefen ()
$unterverzeichnis = StringLeft($name, 1)
if Asc($unterverzeichnis) > 122 then $unterverzeichnis = "# Num"
$vorspann = stringLeft($name,4)
if $vorspann = "The " then $unterverzeichnis = stringMid($name, 5,1)
if $vorspann = "Die " then $unterverzeichnis = stringMid($name, 5,1)
if $vorspann = "Der " then $unterverzeichnis = stringMid($name, 5,1)
if $vorspann = "Das " then $unterverzeichnis = stringMid($name, 5,1)
if not StringIsAlpha($unterverzeichnis) Then $unterverzeichnis = "# Num"
endfunc