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.
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.
Új automator dokumentum, ott a Service menüt kell választani.
A dokumentum tetején az alap beállítást kell meghagyni: “Service receives selected text in any application”
Be kell húzni egy Run Shell Script action-t.
Jobb felső sarokban a Pass Input mezőt át kell állítani as arguments értékre.
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}”
Ki kell cserélni a második sorban a SERVER változónál a felcsatolt mappára az elérési utat.
El kell menteni.
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.
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.
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:…)
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:
Új dokumentom, Service elem típust kell kiválasztani.
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.
Be kell húzni egy Get Selected Finder Items elemet a dokumentumba. Itt semmit sem kell átállítani
Be kell húzni egy Run Shell Script elemet a dokumentumba,
Jobb felső sarokban a Pass Input mezőt át kell állítani as arguments értékre.
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
Most az első két sorba tettem azt, amit cserélni kell, így egyértelműbb, hogy mi történik.
El kell menteni.
Ezután ugyanúgy a Finder → Services vagy jobb gomb → Services menüben lesz megtalálható a szkript.
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.
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.