Applescript för ny tom textfil

Tråden skapades och har fått 12 svar. Det senaste inlägget skrevs .
1

Hur kan jag med applescript göra en ny tom txt-fil på skrivbordet?

Jag vill efterapa de som finns i windows, där man högerklickar och där skapar en ny fil, de enda som är bra i hela windows, och de enda jag saknar.. Finns ju program för att lägga till saker i Contex-menu, så nu behöver jag bara scriptet som skapar den tomma filen..

Nån som har ideer?

  • Oregistrerad
  • 2004-02-07 15:23

Om du inte vill använda en speciellt program och göra filen genom den så borde du väl kunna göra en shell anrop och göra "touch"

Ska filen öppnas i något progam när den skapats eller ska den bara läggas där? Ska man tillfrågas efter namn, eller ska den få ett default-namn, i så fall vilket? Ska filen ha något standardinnehåll eller vara helt tom?

Den ska vara tom och öppnas med Textedit, men först när man klickar på den, Namnet skall bli de närmsta som finns ledigt, tex: Untitled 1,2,3 etc etc..

Ska "Untitled" vara basnamnet, eller föredrar du det svenska "Namnlöst"? Ska den ha filändelsen "txt" eller inte?

Det är lätta grejer men. Det enda som jag skulle behöva veta är hur AppleScriptet ska få information om var du står? Om du använder menyn "Big Cat" så kan du skicka sökvägen, i annat fall tror jag att man måste be Finder att titta efter vad som är det aktiva fönstret och lägga filen där, skulle det funka?

Jag kör nåt som heter OpenMenu, filen Skall heta Untitled, eftersom jag kör engelskt system.och .txt som ändelse.
Inte testat Big Cat, är de att föredra? Openmenu var enkelt, smidigt och utan lull lull, som man vill ha det. Man bara specar vilket program/genväg man skall lägga till i menyn.

Men att den kollar var man befinner sig bör nog fungera

Då borde det bli ungefär såhär. Det här skapar en textfil i det aktiva fönstret och om inget fönster är öppen så skapas den på skrivbordet istället.

tell application "Finder"
	set myBaseString to "Untitled"
	set mySuffix to ".txt"
	try
		set myFolderPath to (target of window 1) as string
	on error
		set myFolderPath to (desktop) as string
	end try
	
	if file (myFolderPath & myBaseString & mySuffix) exists then
		set myCounter to 1
		repeat while file (myFolderPath & myBaseString & myCounter & mySuffix) exists
			set myCounter to myCounter + 1
		end repeat
		set myFile to (open for access file (myFolderPath & myBaseString & myCounter & mySuffix))
		close access myFile
	else
		set myFile to (open for access file (myFolderPath & myBaseString & mySuffix))
		close access myFile
	end if
end tell
Senast redigerat 2004-02-07 17:37

Tack!
Fungerar bra,dock en bug, om ja har ett fönster öppet och klickar på skrivbordet och skapar ny fil genom på context-menyn där så hamnar den nya filen i det öppna fönstret ist för på skrivbordet.

För vad det nu är värt så är det inte en bugg, det är en begränsning i designen

En bugg är ett oväntat beteende men det här är väntat, eftersom Finder inte har något sätt att rapportera till AppleScript att du klickar på skrivbordet. Det var därför jag frågade dig om BigCat. Eftersom den är en kontextmenyplugin så kan den "känna" var du klickar.

En annan följd av designen är att du faktiskt inte behöver kontextklicka alls, du kan lika gärna lägga ett alias till scriptet (sparat som program) i finderfönstrets verktygsrad så kan du klicka där istället.

Men grejjen är ju att jag vill kontextklicka. Provade Big Cat nu och såg att i den får man ytterligare ett menysteg att gå ner till, dvs en undermeny som heter scripts där allt ligger... De förtar lite av snabbheten att navigera sig.

Jag är väl kinkig kanske

Jag tro att BigCat är konfigurerbarså att du kan få allt på samma nivå. Om inte så får du väl fråga hur många sekunder du förlorar per dag på en menynivå till. Kan det vara sammanlagt två sekunder kanske?

Något kinkig kanske

HUmm..

Nu testar jag med Big Cat, och den gör inget alls när man kör scriptet i menyn, sparat både som script och application, ingen skillnad.. Har du några ideer?

man måste ändra scriptet lite för att det ska funka. Big cat skickar en filreferens (eller om det är en lista, jag kommer inte ihåg) men som scriptet är utformat så finns det inget som kan ta hand om den där listan Titta på de exempelscripten som följer med Big Cat och om du inte får det att funka så fixar jag det någon dag när jag har tid.

1
Bevaka tråden