1 votos

AppleScript le dice a la aplicación "Finder" que no puede usar caracteres especiales

He encontrado esta pregunta sobre la posibilidad de intercambiar rutas de Windows con usuarios de mac y viceversa.

¿Cómo se traduce la ubicación de los archivos entre Windows y Mac?

A mí me funciona de maravilla, pero por alguna razón el buscador no abre rutas con caracteres especiales. Por ejemplo ä, ö, ü (que son comunes en Alemania).

Pensé que se habían convertido o algo así. Así que eliminé la parte de la aplicación de tell y la sustituí por return mylocation para ver qué pasa. La ruta devuelta es la correcta y también hay caracteres especiales en ella.

¿Por qué el buscador no lo abre? ¿Hay alguna solución para esto?

Pego el código aquí, para que hablemos de lo mismo sin confundirnos:

on searchReplace(theText, SearchString, ReplaceString)
    set OldDelims to AppleScript's text item delimiters
    set AppleScript's text item delimiters to SearchString
    set newText to text items of theText
    set AppleScript's text item delimiters to ReplaceString
    set newText to newText as text
    set AppleScript's text item delimiters to OldDelims
    return newText
end searchReplace

on run {input, parameters}

    set myClip to the input
    set mylocation to searchReplace(myClip, "<", "")
    set mylocation to searchReplace(mylocation, ">.", "")
    set mylocation to searchReplace(mylocation, ">", "")
    set mylocation to searchReplace(mylocation, "\\", "/")
    set mylocation to "smb:" & mylocation
    set mylocation to searchReplace(mylocation, " ", "%20")

    tell application "Finder"
        open location mylocation
    end tell

    # after setting the location, set Finder to topmost, or delete this section if you dont want that.
    tell application "Finder"
        activate
    end tell

    return input
end run

0voto

jona Puntos 3

Lo arreglé decodificando las diéresis así:

considering case
    set mylocation to searchReplace(mylocation, "Ä", "%C3%84")
    set mylocation to searchReplace(mylocation, "ä", "%C3%A4")
    set mylocation to searchReplace(mylocation, "Ö", "%C3%96")
    set mylocation to searchReplace(mylocation, "ö", "%C3%B6")
    set mylocation to searchReplace(mylocation, "Ü", "%C3%9C")
    set mylocation to searchReplace(mylocation, "ü", "%C3%BC")
    set mylocation to searchReplace(mylocation, "ß", "%C3%9F")
    set mylocation to searchReplace(mylocation, "", "%E1%BA%9E")
end considering

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X