Szerver file location copy

Helló!

A munkahelyemen sok PC és két-három Mac van.
OSX esetén hogyan lehet a szerveren lévő projectfile-ok lokációját gyors megoldással pc-s formátumban másolni? És ugyanez fordítva: ha windowsos gépről írják meg a file lokációját (t:/munka/márka/blabla.xx), azt hogyan lehet beilleszteni a Finder / Go / GoToFolder-be?

Gyanitom, hogy Automatorral kell valami Service scriptet írni, ami a karaktereket cseréli le (pl a / lesz \ és forditva), es ez bekerul a Finder “jobbkatt” menüjébe. Ennek lenne szükségem a pontos leírására.

Köszönöm

Azért szerintem ez így nem ennyire egyszerű, mivel a T meghajtó valószínűleg egy előre konfigurált SMB megosztás. Ha ez így van, akkor a Windowra automatikusan megtörténik a felcsatolás a T meghajtóra és ezért látszik ilyen elérési úttal.
Ha ez a felcsatolás a Mac gépeken is automatikusan történik, akkor valószínűleg a /Volumes mappába csatolódik fel. Szóval ebben az esetben:
/Volumes/megosztottmappa/munka/márka/blbalba.xx lesz az elérési út.
Szóval a T:-t is le kell cserélni.

Ja és igen, az elérési utat azt honnan kapod meg? Mert ha ez egy szöveges fájlban vagy email-ben van megadva, akkor erre igen, Automatorral lehet írni egy szkriptet, ami a kijelölt szövegből előállítja ezt a linket. De ehhez is pontosan kell tudni a felcsatolt meghajtó elérési útját.

Na, közben meg is csináltam.
Lépések:

  1. Új automator dokumentum, ott a Service menüt kell választani.

  2. A dokumentum tetején az alap beállítást kell meghagyni: “Service receives selected text in any application

  3. Be kell húzni egy Run Shell Script action-t.

  4. Jobb felső sarokban a Pass Input mezőt át kell állítani as arguments értékre.

  5. Be kell illeszteni ezt a kódot a kód ablakba:

    PATH=${1}
    SERVER="/Volumes/shares"
    PATH=${PATH/T:/"$SERVER"}
    PATH=${PATH//\//}
    /usr/bin/open -a Finder “${PATH}”

  6. Ki kell cserélni a második sorban a SERVER változónál a felcsatolt mappára az elérési utat.

  7. El kell menteni.

  8. Ezután ki kell jelölni bárhol egy szöveget, ki kell választani felül az alkalmazás menüjében (pl Mail) a szolgáltatások (Services) menü Text almenüjében és ott név szerint meg lesz az elmentett fájl és csak rá kell kattintani és megnyílik az alapértelmezett programmal, ha fájlról van szó és a Finderben, ha mappáról van szó.

+1: System Preferences -> Keyboard -> Shortcuts -> Services menüben meg kell keresni szintén az elnevezett fájlt és ott gyorsbillentyűt lehet hozzárendelni a scripthez.

u.i.: most, hogy így megcsináltam, most esik le, hogy nem a legjobb ötlet a PATH változónevet használni, mindenhol ahol PATH van (6 darab), le kellene cserélni valami bármi másra. Egyébként teljesen mindegy, hogy a változó név az kis vagy nagybetűs.

Mindenki állandóan csatlakozva van az adott szerverhez. Az egyszerűség kedvéért csak egy szerverről legyen szó.

  1. lépés:
    Windows-osok megírják levélben, Skype-on, projectmanaging rendszerben:
    T:\Marka\Project\blabla.psd

  2. lépés
    Ideális esetben ezt Mac-en kijelölöm, jobbkatt, a gyorsmenüben legalul ott van, hogy “From PC to Mac”.
    Ekkor kell automatizáltan cserélni a karaktereket.

  3. lépés:
    Finder / Go / GoToFolder-be beillesztem.
    Ekkor már a vágólapon valójában Volumes/Munka/Marka/Project/blabla.psd van. (Vagy smb://valami… - majd leteszteljük, hogy melyik kell)

És ugyanez visszafelé:
CMD+i, path-on jobbkatt (vagy mégjobb, ha a Finderben a fájlon nyomok jobbkattot), ottvan gyorsmenüben van a “Form Mac to PC”, és mikor bemásolom levélbe, skype-ba, akkor a PC-s verzió, ami beillesztődik: T:…)

Látom, közben megírtad :)
Holnap leteszteljük.

Köszönöm szépen!

Visszafelé ez természetesen nem fog menni, ahhoz kell egy másik script, ami finderben fájlt figyel.
Lehet azt is megcsinálom mindjárt :)

Szóval ez is megvan. Persze ez már egy fokkal bonyolultabb, mert nekem most 10.12.1 rendszer van fent és hiába jelölöm be, hogy a kijelölt fájlok és mappák esetében is fusson le a szkript, valamiért nem jelenik meg a Services menüben a szkript akkor, ha egyetlen egy mappa van kijelölve. Ha több mappa vagy egy mappa és egy fájl van kijelölve, akkor már megjelenik a szkript. Ettől függetlenül ez a megoldás mivel Finder típusú szkript, ezért nem csak a Finder -> Services menüben jelenik meg, hanem ha jobb gombot nyomunk egy (vagy több) fájlon vagy mappán, akkor a jobb gombos menü Services menüjébe is beépül. Szerencsére itt a jobb gombos menüben már megjelenik a szkript akkor is, ha csak egy mappa van kijelölve.
Szóval a lépések:

  1. Új dokumentom, Service elem típust kell kiválasztani.

  2. A dokumentum tetején ebben az esetben files or folder legyen és érdemes szerintem kiválasztani, hogy a Finder alkalmazásban működjön csak.

  3. Be kell húzni egy Get Selected Finder Items elemet a dokumentumba. Itt semmit sem kell átállítani

  4. Be kell húzni egy Run Shell Script elemet a dokumentumba,

  5. Jobb felső sarokban a Pass Input mezőt át kell állítani as arguments értékre.

  6. Be kell illeszteni ezt a kódot a kód ablakba:

    FROM="/Users/idioty/"
    TO=“T:\”
    COUNTER=0
    COUNT=$(($# / 2))
    LINES=""
    for f in “$@”
    do
    # lehet ki kell kommentelni kettoskeresztel az alabbi 3 sort
    if [[ $COUNTER -ge $COUNT ]]; then
    break
    fi

     ITEM="${f}"
     ITEM=${ITEM/"$FROM"/"$TO"}
     ITEM=${ITEM//\//\\}
    
     if [[ $COUNTER -gt 0 ]]; then
     	LINES="${LINES}\n"
     fi
     LINES="${LINES}""${ITEM}"
     COUNTER=$((COUNTER + 1))
    

    done
    echo -e “${LINES}” | pbcopy

  7. Most az első két sorba tettem azt, amit cserélni kell, így egyértelműbb, hogy mi történik.

  8. El kell menteni.

  9. Ezután ugyanúgy a Finder -> Services vagy jobb gomb -> Services menüben lesz megtalálható a szkript.

  10. Ez a szkript a vágólapra helyezi az átírt fájlokat, tehát beilleszthető bárhova ezután.
    +1. Itt is működhet a billentyű kombináció (kivéve, ha egy mappa van kijelölve a fenti hiba miatt)

Még annyit hozzátennék, hogy nálam valamiért duplán kapta meg a fájlokat a szkript, ezért betettem egy olyat, hogy csak fele annyiszor engedi lefuttatni a ciklust. Ha pont fele annyi fájlt ír a vágólapra, mint amennyi ki van jelölve, akkor ki kell kommentelni 3 sort kettős-kereszttel, a saját kommentem után.

Helló!

Nagyon szépen köszi! Viszont sajnos nem működik. Nem ír ki konkrét hibaüzenetet, hogy mi lehet a gond. Egyszerűen csak nem működik :)

Meglehetősen idegtépő, hogy szeretnék kicserélni automatizáltan pár konkrét karaktert ( a / -eket \ -ekre és a /Volumes/xxx/yyy/ pedig t:\ lenne) de ezt nem lehet megcsinálni.

Sebaj, hamarosan elköszönés lesz epüléktől, ők mennek a lakosság irányába, a microfos meg a pro-k felé.

De, biztos, hogy meg lehet csinálni. Ha konkrétan leírod az útvonalakat, akkor meg tudom mondani, de így nehéz.
Azt lehet elfelejtettem írni, hogy a

TO="T:\\"

Változónál az útvonalban minden \ jel helyett dupla \ jel kell. Ugyanígy az első scriptnél is. Mert a \ jel az egy “escape” karakter és ami utána következik, azt a karaktert fixnek veszi és nem vezérlő karakternek. És emiatt kell dupla backslash, mert az első az escape karakter a második meg maga a karakter, amit meg szeretnénk jeleníteni.

Húzós volt a december, januárban teszteljük :) Köszönöm szépen!