AppleScript: bestanden in gebruik toch vervangen
13 december 2011 - 17:28   
geplaatst door: marksch
Hoi,

Ik moet een AppleScript-programma schrijven waarin ik o.a. een aantal font files vervang met nieuwe files. Daarvoor heb ik de volgende syntax geschreven:

move every file of folder (myTempFontFolderPath as alias) to myFontFolder with replacing without invisibles

Ik weet dat deze syntax correct is, omdat ze correct functioneert als de bestanden nog niet bestaan. Helaas krijg ik de volgende foutmelding als de bestanden wel bestaan:

error "Finder got an error: The operation can’t be completed because “” is in use." number -47

Het gevolg is dus dat de bestanden niet worden vervangen. Wie heeft er een idee hoe ik de bestanden toch kan vervangen? Ik wil ze liever niet 1 voor 1 naar de trash verplaatsen.

Het programma moet uiteindelijk helemaal via een GUI functioneren. Een terminal commando met sudo lijkt daarom geen optie, maar verder zijn alle suggesties welkom.

Vriendelijke groet,

Mark

AppleScript: bestanden in gebruik toch vervangen
14 december 2011 - 15:50    reactie #1
geplaatst door: hitchhiker
Als je inderdaad fontfiles wilt vervangen van fonts die in gebruik zijn, dan is het antwoord dat dat niet gaat lukken.
Het is principieel onmogelijk om openstaande bestanden te vervangen zonder dat het programma dat die bestanden open heeft daaraan meewerkt. Je zult dus bijv. iets met de fontmanager moeten doen zodat die bijv. bestanden sluit en later (de nieuwe) heropend.

Waarom wil je dit eigenlijk, ben je je eigen Suitcase aan het schrijven?

AppleScript: bestanden in gebruik toch vervangen
14 december 2011 - 18:02    reactie #2
geplaatst door: marksch
Hoi Hitchhiker,

Het is wel degelijk gelukt, maar ik moest elk bestand apart naar de prullenbak verplaatsen (met move to trash). Daarna kan ik zonder problemen de prullenbak legen (dus de Finder klaagt niet dat de bestanden in gebruik zijn).

Voorts moet het gewoon mogelijk zijn fonts te vervangen als er geen programma is dat ze in gebruik heeft. Iets wat mijn op dit moment met een omweg dus wel lukt, maar niet d.m.v. move with replacing.

Ik zou bovendien niet weten welk programma aan het vervangen van die fonts zou moeten "meewerken". Het enige programma dat de fonts gebruikt is op het moment dat ik mijn script draai niet in gebruik.

Nee ik ben geen Suitcase aan het schrijven. Het gaat hier om custom software voor klanten van Economy-x-Talk.

Vriendelijke groeten,

Mark