REMARQUE : Cette réponse est destinée uniquement à titre d'exemple lorsque le chemin SMB, en dehors des deux-points, des barres obliques et des barres obliques inverses et sans espaces, contient uniquement des caractères alphanumériques dans le nom ! Si vous devez prendre en compte autre chose, c'est-à-dire lire les commentaires de cette réponse, vous devrez modifier le code selon vos besoins. Cela dit, pendant toutes mes années en tant qu'administrateur de systèmes réseau et ingénieur en systèmes réseau, je n'ai jamais créé de partages contenant d'autres caractères que des espaces ou des caractères alphanumériques, à part le besoin de deux-points, de barres obliques, de barres obliques inverses et de caractères alphanumériques, et donc cet exemple simple est tout ce dont j'ai besoin pour traduire n'importe quel chemin SMB, par exemple smb://serveur/dossier
, en \\server\dossier
, que j'ai jamais utilisé en tant que chemin UNC. Votre expérience peut varier !
Dans Automator, créez un nouveau Service workflow, puis ajoutez une action Exécuter AppleScript à celui-ci en remplaçant le code AppleScript par le code ci-dessous :
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 selectedText to item 1 of input as string
set convertedText to searchReplace(selectedText, "smb://", "\\\\")
set convertedText to searchReplace(convertedText, "/", "\\")
set the clipboard to convertedText as string
return convertedText
end run
Ensuite, enregistrez le Service sous le nom : Convertir chemin SMB en chemin UNC
Maintenant, Convert SMB Path to UNC Path apparaîtra dans le menu Services ou le menu contextuel Services lorsque du texte est sélectionné et lorsque le Service est utilisé, le chemin UNC est placé sur le Presse-papiers. (Cela suppose bien sûr que le texte sélectionné était effectivement un Chemin SMB, sinon ce qui est placé là est simplement le texte qui a été sélectionné lorsque le Service a été exécuté et inclura toutes les substitutions effectuées.)
L'exemple de Chemin SMB smb://serveur/dossier
sera converti en Chemin UNC \\serveur\dossier
et placé sur le Presse-papiers.
Remarque : Notez les paramètres du Service dans l'image ci-dessous. La Case à cocher Remplacer le texte sélectionné est décochée. Vous pouvez la cocher si c'est ce que vous voulez, cependant, si le texte sélectionné n'est pas réellement remplaçable alors le Service n'apparaîtra pas dans le menu Services ou le menu contextuel Services.