8 votes

Convertir un chemin PC en chemin Mac avec AppleScript

Je suis un utilisateur de Mac solitaire dans une entreprise qui utilise des PC ... J'obtiens souvent des chemins de fichiers que je dois naviguer manuellement. J'ai trouvé quelques scripts, mais ils ne semblent pas fonctionner pour moi. J'aimerais pouvoir faire un clic droit sur un chemin surligné et cliquer sur un script qui me dirige vers le Finder et le fichier associé. Voici un exemple de mon chemin PC par rapport au chemin Mac :

Chemin PC : P:\city\projectname

Version Mac du même chemin : smb://perkinswill.net/projects/city/projectname

Le code que j'ai trouvé jusqu'à présent est le suivant :

Script : "Convertir le chemin Windows en chemin Mac et l'ouvrir"

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

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

Je vous suis reconnaissant pour votre aide !

0 votes

Peut-être une variation de cette réponse pourrait vous aider à démarrer?

4voto

marvin137 Points 341

Je suis tombé sur le même chemin avec Applescript pour faire fonctionner cela, mais votre script est pratiquement lié au lecteur réseau P: que la plupart des gens n'ont pas.

Il existe des applications tierces, comme LinkConverter sur l'AppStore, qui peuvent convertir ce que vous voulez plus facilement et s'intègrent très bien dans macOS.

1voto

aku Points 54867

De ce que je peux voir, il n'y a nulle part où P: est remplacé par votre chemin Mac smb://perkinswill.net/projects. Ajouter un autre remplacement pour cela semble faire fonctionner le script pour moi, voir ci-dessous. Si vous avez d'autres serveurs avec d'autres chemins, vous pouvez les ajouter de manière similaire.

Remarquez qu'en changeant la commande d'ouverture réelle de tell application "Finder" à do shell script, cela gère également les espaces dans les chemins, du moins dans mon environnement (qui est légèrement différent du vôtre).

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)

    -- Ajoutez ces trois lignes pour tout chemin que vous souhaitez pouvoir ouvrir
    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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X