Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Drag and Drop för att köra igång egna script

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

Någon som vet om man kan tillverka egna ikoner på skrivbordet, som när man släpper något på dem kör igång ett script skript med de "släppta sakerna" som argument. Skulle e.g. vilja ha en ikon som det stog "släpp saker här för backup" som sedan drog igång scp "släppt fil" minerver.se:/backup

  • Oregistrerad
  • 2004-04-20 12:04

AppleScript

Ursprungligen av Pär:

AppleScript

Jo men kan man slippa AppleScript, och använda sig utav e.g. perl eller något vettigt. Jag har kollat på Applescript och blir inte klok på det, vad jag vil veta är hur man kommer åt det som släpps på programmet.

Eller vad som är viktigt är hur får man igång skripts direkt från en ikon?

  • Medlem
  • 2004-04-20 23:00
Ursprungligen av Erik Johansson:

Eller vad som är viktigt är hur får man igång skripts direkt från en ikon?

I AppleScript kallas det droplets, och är AppleScriptmanus som sparats som program. När man droppar filer på ett sånt program körs "on open these_items" där allt som droppades på programmet finns i these_items.

I exemplet ovan är det mesta av koden till för att extrahera vilka filer som dropleten ska ta hand om. Vill man sedan köra UNIX-script körs det igång med "do shell script".

  • Medlem
  • 2004-04-20 22:54

Nåt sånt här kanske? Med reservation för att jag inte vet hur scp funkar...
Koden är plockad från AppleScript Guidebook: Essential Sub-Routines och bara lite modifierad.

-- the list of file types which will be processed
-- eg: {"PICT", "JPEG", "TIFF", "GIFf"}
property type_list : {}
-- since file types are optional in Mac OS X, 
-- check the name extension if there is no file type
-- NOTE: do not use periods (.) with the items in the name extensions list
-- eg: {"txt", "text", "jpg", "jpeg"}, NOT: {".txt", ".text", ".jpg", ".jpeg"}
property extension_list : {}

global stringOfFiles

-- This droplet processes both files or folders of files dropped onto the applet
on open these_items
	set stringOfFiles to ""
	repeat with i from 1 to the count of these_items
		set this_item to (item i of these_items)
		set the item_info to info for this_item
		if folder of the item_info is true then
			process_folder(this_item)
		else if (alias of the item_info is false) and ¬
			(((type_list is {}) or (the file type of the item_info is in the type_list)) or ¬
				((extension_list is {}) or ¬
					(the name extension of the item_info is in the extension_list))) then
			process_item(this_item)
		end if
	end repeat
	do shell script "scp " & stringOfFiles & " minerver.se:/backup"
end open

-- this sub-routine processes folders
on process_folder(this_folder)
	set these_items to list folder this_folder without invisibles
	repeat with i from 1 to the count of these_items
		set this_item to alias ((this_folder as text) & (item i of these_items))
		set the item_info to info for this_item
		if folder of the item_info is true then
			process_folder(this_item)
		else if (alias of the item_info is false) and ¬
			(((type_list is {}) or (the file type of the item_info is in the type_list)) or ¬
				((extension_list is {}) or ¬
					(the name extension of the item_info is in the extension_list))) then
			process_item(this_item)
		end if
	end repeat
end process_folder

-- this sub-routine processes files
on process_item(this_item)
	set this_item_name to POSIX path of this_item
	set stringOfFiles to (stringOfFiles & " \"" & this_item_name & "\"")
end process_item

Perfekt, tackar! Nu hopas jag bara att jag lyckas få det att fungera som en ikon.. Jag satt igår och försökte använda mig utav Terminalens *.app katalog för att fixa det.

1
Bevaka tråden