Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Long-time ago i created a service in Automator, which still works. But i want to change the code and it isn't located in either /Library/Services/ nor ~/Library/Services/ as they are both empty

Have i lost the source code or can i restore it otherwise?

share|improve this question
    
Strange... ~/Library/Services/ is the default location for new services created in Automator, and I just confirmed that myself by creating a new service. –  Austin May 12 '11 at 23:29
add comment

6 Answers

up vote 2 down vote accepted

As others have said, services are normally in one of the Library/Services folders (~/Library/Services, /Library/Services, and /System/Library/Services). If just looking there doesn't turn it up, another option is to spy on what files are being opened when you invoke the service, with something like:

sudo opensnoop -n WorkflowService

... and then running the service, and looking through the results to see if you can spot the relevant file. If it isn't an Automator-based service, you might have to leave off the -n WorkflowService (although you'll have a lot more irrelevant files to sort through because you'll be seeing every file anything in the entire OS opens).

share|improve this answer
    
sudo opensnoop -n WorkflowService didn't show anything at all and couldn't get any reasonable out of just sudo opensnoop –  Tyilo May 13 '11 at 22:15
1  
@Tyilo: I'm pretty sure that means it's not actually an Automator-based service. Might it be provided by an application you have installed? –  Gordon Davisson May 14 '11 at 1:24
    
You were right! I thought i made it myself... Thank you very much! –  Tyilo May 14 '11 at 10:20
add comment

Did you try ~/Library/Workflows/?

share|improve this answer
    
Doesn't exist either and also tried /Library/Workflows/ –  Tyilo May 12 '11 at 22:31
add comment

Try searching for .workflow in Spotlight to find all workflow files in your user folder. The service will be called Whatever the Service Name Is in the Services Menu.workflow.

If you prefer the Terminal, this command will do the same thing, searching the current directory and all the folders underneath it:

find ./ -name "*.workflow"

EDIT: Corrected a small mistake in the Terminal command. Apparently -type f doesn't work on .workflow files.

share|improve this answer
    
No result in Spotlight and the terminal command showed no results: 'tyilos-macbook:~ Tyilo$ cd / tyilos-macbook:/ Tyilo$ sudo find ./ -type f -name "*.workflow" Password: find: .//dev/fd/3: Not a directory find: .//dev/fd/4: Not a directory' –  Tyilo May 13 '11 at 6:28
    
@Tyilo Sorry, there was a typo in the Terminal command that I corrected. Try it again, and if it doesn't find anything in your home directory (~), try running it from the system's root directory (i.e. enter cd / before running the find command). This will take a while, so be prepared to be patient. –  Austin May 13 '11 at 6:40
    
@Tyilo And of course, you can search the root folder in the GUI by opening Macintosh HD in Finder and typing .workflow into the search box. (Check the File Name option instead of Contents for a faster search.) The only disadvantage of this is that it won't search in hidden or system folders, but you probably won't need it to anyway. –  Austin May 13 '11 at 6:44
    
@Austin My file wasn't between the files using cd / and sudo find ./ -name "*.workflow" > ~/Desktop/services.txt. I found two other folders which also could be a possible location, but they didn't contain the file. The locations were /Library/Application Support/Apple/Automator/Workflows/ and /System/Library/Services/. I've uploaded the file here: cl.ly/6i1t –  Tyilo May 13 '11 at 13:07
    
@Austin also tried with sudo find ./ -name "*" > ~/Desktop/all.txt and still no match –  Tyilo May 13 '11 at 13:37
show 2 more comments

Edited to add

Automator services are definitely supposed to be stored in ~/Library/Services, based on my Googling. I just created a new service in Automator and it placed it there.


Perhaps ~/Library/Application Support/Automator/

Alternately, when I last made a service I believe that I had to save it as an .app first, so you might search for apps.

share|improve this answer
    
The /Library/Application Support/Automator/ folder didn't exist, but ~/Library/Application Support/Automator/ did and was empty -.-' –  Tyilo May 12 '11 at 21:15
    
@Tyilo Sorry, that's what I meant. Fixed my answer, even if it's wrong. :) –  Matthew Frederick May 12 '11 at 22:19
    
@Matthew Frederick Found all app files using @Austin command, and none of them matched my service title –  Tyilo May 13 '11 at 13:23
    
@Tyilo I just checked my system and realized that I'd created an AppleScript app that I then used Automator to turn into a service, hence my .app suggestion. As a result both .app and .scpt files existed for it. Unless you did the same, my suggestion is no help. –  Matthew Frederick May 13 '11 at 13:44
    
@Matthew Frederick Don't have the .scpt file of it :s, but the service file thingy must be somewhere, else it wouldn't work –  Tyilo May 13 '11 at 17:12
show 1 more comment

The location of the user created services is under:

/Users/<user_name>/Library/Services/

(tested Mac OS X Mountain Lion 10.8.4)

other locations you get by entering following command in Terminal:

mdfind .workflow
share|improve this answer
add comment

The best way that I know to find workflows or anything else is to use the app: "EasyFind.app". Unlike the Finder and Spotlight and even the Unix command-line, EasyFind.app can be configured to search everywhere, and it has a Unix-style pattern-matching capability. For example "*.workflow" can be used to find any Service on your entire hard-drive.

Best of all EasyFind.app is free and legal.

EasyFind.app

Configuring EasyFind.app to find any Automator workflow (including services)

INSTEAD of using extra programs you can run your Terminal and enter command:

mdfind .workflow
share|improve this answer
    
Can you elaborate on where EasyFind is able to find stuff but /usr/bin/find isn't? –  patrix Jun 30 '13 at 5:37
    
@patrix I've been looking at /usr/bin/find again. I believe that it will work, it's just that EasyFind.app is easier to use. –  Kaydell Jun 30 '13 at 21:44
1  
@patrix: The following command works OK for me: find ~ -name ".workflow" better than find ./ -name ".workflow" which only searches the current directory. From the command-line, it is really /usr/bin/locate that I don't trust. It is faster, but the files have to be indexed before they can be found. Also, I don't trust Finder > Finder nor Spotlight to find everything because they don't open up application bundles or the ~/Library folder which is not invisible in Mountain Lion. So /usr/bin/find is OK, it's just that for me, I still prefer EasyFind.app because it's easier to use. –  Kaydell Jun 30 '13 at 21:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.