8 votos

Convertir una ruta de PC a Mac con AppleScript

Soy un usuario solitario de Mac en una empresa que utiliza PCs... A menudo recibo rutas de archivos que necesito navegar manualmente. He encontrado algunos scripts, pero parece que no me funcionan. Me gustaría poder hacer clic con el botón derecho en una ruta resaltada y hacer clic en un scriptsscriptscripts que me dirija al Finder y al archivo asociado. Aquí hay un ejemplo de mi ruta de PC vs ruta de Mac:

Ruta del PC: P:\city\projectname

Versión para Mac de la misma ruta: smb://perkinswill.net/projects/city/projectname

El código que he encontrado hasta ahora es el siguiente:

script: "Convertir la ruta de Windows a Mac y abrirla"

 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 mytext to searchReplace(myClip, "<", "")
            set mytext to searchReplace(mytext, ">.", "")
            set mytext to searchReplace(mytext, ">", "")
            set findIt to "\\"
            set replaceIt to "/"
            set mylocation to searchReplace(mytext, findIt, replaceIt)
            set mylocation to "smb:" & mylocation
            tell application "Finder"
                            open location mylocation
            end tell
            return input
 end run

 -- Thanks to: http://apple.stackexchange.com/questions/144916/how-to-change-filepath-structure -using-automator-windows-to-mac --

Agradezco su ayuda.

0 votos

Tal vez una variación de esta respuesta ¿podría empezar?

4voto

marvin137 Puntos 341

Me encontré con el mismo camino con applescript para hacer que esto funcione, pero tu script está muy ligado a la unidad de red P: que la mayoría de la gente no tiene.

hay algunas aplicaciones de terceros, por ejemplo LinkConverter en la AppStore que puede convertir lo que quieras más fácilmente y se integra en MacOS muy bien

1voto

aku Puntos 54867

Por lo que puedo ver, no hay ningún lugar que P: se sustituye por la ruta de su Mac smb://perkinswill.net/projects . Añadiendo otro reemplazo para eso parece que el script funciona para mí, ver abajo. Si tienes otros servidores con otras rutas, puedes añadirlas de forma similar.

Tenga en cuenta que al cambiar el comando de apertura real de tell application "Finder" a do shell script también maneja los espacios en las rutas, al menos en mi entorno (que es ligeramente diferente al tuyo).

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 mytext to searchReplace(myClip, "<", "")
    set mytext to searchReplace(mytext, ">.", "")
    set mytext to searchReplace(mytext, ">", "")
    set findIt to "\\"
    set replaceIt to "/"
    set mylocation to searchReplace(mytext, findIt, replaceIt)

    -- Add these three lines for any path you wish to be able to open
    set winPath to "P:"
    set macPath to "smb://perkinswill.net/projects"
    set mylocation to searchReplace(mylocation, winPath, macPath)

    do shell script "open " & quoted form of mylocation

    return mylocation
end run

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