Converti un percorso PC in percorso Mac con AppleScript

4

Sono un utente Mac solitario in un'azienda che utilizza PC ... Spesso ottengo percorsi di file che devo navigare manualmente. Ho trovato alcuni script, ma non sembrano funzionare per me. Mi piacerebbe essere in grado di fare clic destro su un percorso evidenziato e fare clic su uno script che mi indirizza al Finder e al file associato. Ecco un esempio del mio percorso PC vs percorso Mac:

Percorso PC: P:\city\projectname

Versione per Mac dello stesso percorso: smb://perkinswill.net/projects/city/projectname

Il codice che ho trovato finora è il seguente:

Script: "Converti il percorso Windows in Mac e aprilo"

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

Apprezzo il tuo aiuto!

    
posta kfarrar 27.11.2017 - 22:09
fonte

1 risposta

1

Da quello che posso vedere, non c'è nulla che P: venga sostituito dal tuo percorso Mac smb://perkinswill.net/projects . Aggiungere un'altra sostituzione per quello sembra far funzionare lo script per me, vedi sotto. Se hai altri server con altri percorsi, puoi aggiungerli in modo simile.

Si noti che cambiando il comando di apertura effettivo da tell application "Finder" a do shell script gestisce anche gli spazi nei percorsi, almeno nel mio ambiente (che è leggermente diverso dal proprio).

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
    
risposta data 28.11.2017 - 08:29
fonte

Leggi altre domande sui tag