Convertir una ruta de PC a una ruta de Mac con AppleScript

4

Soy un usuario solitario de Mac en una empresa que usa PC ... A menudo obtengo rutas de archivos que necesito para navegar manualmente. He encontrado algunos scripts, pero no parecen estar funcionando para mí. Me gustaría poder hacer clic derecho en una ruta resaltada y hacer clic en una secuencia de comandos que me dirige a Finder y al archivo asociado. Aquí hay un ejemplo de la ruta de mi PC frente a la ruta de Mac:

Ruta de PC: P:\city\projectname

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

El código que encontré hasta ahora es el siguiente:

Script: "Convierta Windows a la ruta de Mac y ábrala"

 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 --

Aprecio tu ayuda!

    
pregunta kfarrar 27.11.2017 - 22:09

1 respuesta

0

Por lo que puedo ver, no hay ningún lugar donde P: sea reemplazado por su ruta de Mac smb://perkinswill.net/projects . Agregar otro reemplazo para eso parece hacer que el script funcione para mí, ver más abajo. Si tiene otros servidores con otras rutas, puede agregarlos de una manera similar.

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

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
    
respondido por el Lizzan 28.11.2017 - 08:29

Lea otras preguntas en las etiquetas