Tilanne ja tarve on tämä:
1) On tietty kansio nimeltä template, joka sisältää pari kansiota tiedostoineen. Tämä kansio on aina sama.
2) Se pitäisi saada kopioitua ja uudelleen nimettyä (nimi kysytään käyttäjältä) Finderissa valittuna olevaan hakemistoon.
Yritin tätä automatorilla tehdä, mutta näyttää olevan vähän liian rajoitettu. Saan tuon hakemiston kopioitumaan jonnekin ja nimen oikeaksi, mutta en keksinyt keinoa millä sen saisi kopioitua Finderissa valittuna olevaan hakemistoon. En halua että Automator enää kyselee tätä hakemistoa, vaan haluan että voin ajaa skriptin Automator menusta, kun tuo hakemisto on valittuna.
Onnistuuko tämä vai pitääkö turvautua voimakkaampiin skripteihin. Helppoahan tuo kai AppleScriptillä on lopulta.
Template kansion kopiointi Automatorilla
Xcode, Mac OS X Server sekä muuta hauskaa ja hyödyllistä
3 viestiä
• Sivu 1/1
-
- Viestit: 408
- Liittynyt: 11.12.2005 klo 23.37
-
- Viestit: 4927
- Liittynyt: 10.5.2005 klo 12.56
- Paikkakunta: Joensuu
Re: Template kansion kopiointi Automatorilla
Viesti Kirjoittaja gramdel »
Automatorista en tiedä, mutta applescriptillä noin pikaisesti kokeilemalla jotain tällaista:
set pathToCopy to "/copy/this/path" rivillä tuo lainausmerkkien sisällä oleva korvataan tietty polulla siihen kansioon, jonka haluaa kopioida.
Koodissa ei ole juurikaan tarkistuksia. Jos uutta kansiota ei voida luoda, scriptin ajo keskeytyy ilman erillistä ilmoitusta. Scripti myös kirjoittaa yli kansion, jos se on jo olemassa.
/---
ap
Koodi: Valitse kaikki
on run
set pathToCopy to "/copy/this/path"
tell application "Finder"
set S to selection
if number of items in S is 1 then
set S to S as text
if exists folder S then
set S to POSIX path of S
if last character of pathToCopy is not "/" then
set pathToCopy to pathToCopy & "/"
end if
set pathToCopy to quoted form of (pathToCopy)
set errors to 0
display dialog ¬
"Name." default answer ¬
"newfolder" buttons {"Cancel", "OK"} default button "OK" with icon note
set newFolder to (the text returned of the result)
try
do shell script "mkdir " & S & newFolder
on error
set errors to 1
end try
if errors is 0 then
set copyTo to S & newFolder
set copyTo to quoted form of copyTo
set runSrp to "cp -R " & pathToCopy & " " & copyTo
do shell script runSrp
end if
end if
end if
end tell
end run
Koodissa ei ole juurikaan tarkistuksia. Jos uutta kansiota ei voida luoda, scriptin ajo keskeytyy ilman erillistä ilmoitusta. Scripti myös kirjoittaa yli kansion, jos se on jo olemassa.
/---
ap
-
- Viestit: 408
- Liittynyt: 11.12.2005 klo 23.37
Re: Template kansion kopiointi Automatorilla
Viesti Kirjoittaja MNi »
AppleScriptiin päädyin minäkin, Tässäkään ei pahemmin tarkistella, mutta toimii. Tätä ennen pitää Automatoriin laittaa joku filejä antava action, esim. Get Selected file. Ei ollut automatorista tähän paljon apuja, mutta sillä saa kätevästi context menuun ajettavaksi tämän.gramdel kirjoitti:Automatorista en tiedä, mutta applescriptillä noin pikaisesti kokeilemalla jotain
Koodi: Valitse kaikki
on run {input, parameters}
set templatePath to "/Users/user/hakemisto" -- folder to copy
set dest to text returned of (display dialog "Enter product code" default answer "" buttons ["Ok"] default button 1 with icon note)
if dest is "" then
display dialog "Got no code." buttons ["OK"] default button 1
error number -128 --end
end if
set theItem to item 1 of input
--create new folder
tell application "Finder"
set newFolder to (make new folder at theItem with properties {name:dest})
end tell
-- Copy template content to newFolder
set template_folder to (POSIX file templatePath)
set template_folder to template_folder as alias
--
tell application "Finder" to duplicate (items of template_folder) to newFolder
-- return newFolder
return input
end run
MNi
3 viestiä
• Sivu 1/1
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
Hyppää
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit