Как перевести расположение файлов в стиле Windows и Mac?

Для офиса, в котором в основном работают рабочие станции Windows и несколько рабочих станций OS X, какой самый простой способ для пользователей Mac преобразовать пути к файлам в стиле Windows и обратно?

Например, для автоматического перевода \\fileserver01\client-files\client01\comp.psd, если оно отправлено по электронной почте, на //fileserver01/client-files/client01/comp.psd?

Является ли //fileserver01/client-files/client01/comp.psd действительным общим путем к файлу? должно начинаться с smb:// afaik

Ответы (3)

На этом сайте есть способ перевести в сетевое местоположение Mac и открыть его: http://hints.macworld.com/article.php?story=20040322155331393

Таким образом, вы можете легко сохранить это как текстовую службу и иметь возможность выбрать сетевое расположение Windows, щелкнуть его правой кнопкой мыши, перевести и открыть.

Я предполагаю, что вы могли бы как бы отменить функцию и перевести обратно в строку сетевого местоположения Windows.

Вот как настроить текстовую службу/быстрое действие для преобразования в путь Mac и открыть его в Finder:

  • Откройте Автоматизатор
  • Выберите «Сервис» (называемый «Быстрое действие» в macOS Mojave).
  • Перетащите элемент «Запустить AppleScript» из библиотеки в основную область справа.
  • Скопируйте и вставьте в него этот AppleScript: https://gist.github.com/2211017 (здесь он будет неправильно отформатирован)
  • Сохраните его в разделе «Преобразовать и открыть путь Windows» или как вам угодно.
  • Выберите путь в приложении, щелкните его правой кнопкой мыши и найдите созданную вами службу (она может находиться в подменю «Службы»).

Вот как должен выглядеть ваш сервис Automator:Пример службы автоматизатора

Это так близко к отличному ответу. Если вы привнесете этот AppleScript в ответ со справочного сайта, а затем пройдете, как настроить его как службу, у вас будет звездный ответ.
@IanC. Вы имели в виду первый или второй сайт? Я сделаю это.
Первый сайт. Страница подсказок MacWorld.
Спасибо за предложения Ян! Теперь я научился создавать текстовые сервисы, для которых я уже могу придумать несколько применений.
я не могу найти "Сервис" на шаге 2
@Mauro, вам может потребоваться нажать «Новый документ» или перейти в «Файл» -> «Создать» в меню, чтобы увидеть диалоговое окно, в котором вы можете нажать «Сервис». Дайте мне знать, если это поможет!
@penguinrob я подозреваю, что «Сервис» был изменен на «Быстрые действия»: awesomescreenshot.com/image/3639839/…
@ Мауро, это приятно знать! В настоящее время я использую свой MacBook на немецком языке, поэтому, когда я проверял, я не знал, что его английское название изменилось :)
@penguinrob, был ли мой комментарий хоть как-то полезен??
@ Мауро да, это было полезно! Я обновил ответ соответственно.

Я также сначала использовал applescript для преобразования ссылок Windows/macos, но затем я нашел приложение LinkConverter для MacOS , которое делает эту работу за меня.

Вы будете получать уведомления о каждой ссылке, найденной в вашем буфере обмена. В зависимости от настроек приложения ссылка будет преобразована:

введите описание изображения здесь

Это работает и для файлов, и для папок.

Я знаю, что это старый обмен, но он все еще работает. Я разветвил код, чтобы показать пример преобразования пути сетевого диска в протокол SMB с IP-адресом сервера.

Это полезно, если у пользователей Windows есть буквенный сетевой диск, такой как W:\a\really\tedious\folder\path

https://gist.github.com/jberg412/036484376a56f09e1a4a

Спасибо за оригинальный скрипт PenguinRob.

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 mylocation to searchReplace(myClip, "<", "")
    set mylocation to searchReplace(mylocation, ">.", "")
    set mylocation to searchReplace(mylocation, ">", "")
    set mylocation to searchReplace(mylocation, "\\", "/")
    set mylocation to "smb:" & mylocation
    # convert Windows network drive paths to SMB addresses EXAMPLE:
    set mylocation to searchReplace(mylocation, "smb:W:", "smb://10.0.0.1/shares")
    # check if the person who gave you the windows link used a lowercase drive letter:
    set mylocation to searchReplace(mylocation, "smb:w:", "smb://10.0.0.1/shares")
    # fix issue with spaces
    set mylocation to searchReplace(mylocation, " ", "%20")


    tell application "Finder"
        open location mylocation
    end tell

    # after setting the location, set Finder to topmost, or delete this section if you dont want that.
    tell application "Finder"
        activate
    end tell


    return input
end run
URL gist.github.com/jberg412/036484376a56f09e1a4a больше недействителен. У кого-нибудь есть копия этого сценария, которую они могут опубликовать?
Минус и просьба? Потрясающий. Моя учетная запись github была повреждена и восстановлена ​​​​с новым именем пользователя, я не мог вспомнить, где были все ссылки на нее. Попробуйте: gist.github.com/radio412/036484376a56f09e1a4a