Filter or Find Finder Items Using Variable

applescriptautomatorfinder

In the Filter Finder Items and Find Finder Items actions, Automator lets you type out criteria for what your looking for like:

Folder Name Contains: (Manually Insert Text Here)

Here is an example image of "AnchorFile" being the typed criteria:

Example Action

Is there anyway to pass a variable onto the filter?

I have tried to put a Get Value of Variable action before the filter/find in the hopes of being able to use the variable as the search criteria. Similar to this workflow:

Filter w/ Variable??

The goal is to find the "XXXXX_Workers Compensation" folder on my computer using only a variable and filter/find Actions

I hope this is clearer than a previous post I made as I am a newbie in the Applescript/Automator world.

If we can get this "pass a variable to filter/find" thing to work, it would effectively:

  • Create a foldername from a filename,
  • Then input that foldername into the search bar of Finder to bring up the folder in Finder.

Thanks for any help you can give.

Best Answer

Turns out I needed to do a spotlight search instead of Filter/Find Finder Items in order to use a string to find the folder by its name alone (Without path).

I also did not need to store the filename as a variable in order for me to accomplish this final workflow but spotlight can use a variable that is a string to search I found out.

Here is my final workflow. WorkFlow

EXPLANATION:

(Get Specified Finder Items and Get Folder Contents were in place for testing within Automator)

  1. A file being added to a folder called "WCCalcs" triggers the workflow.

  2. Steps 1-2 (Filter Finder Items and Set Value or Variable):

    Singles out our new file which is a pdf and saves it in a variable called 'MovingFile'. It will always look like "#####_WCCalcs_YYYY"

    • with "#####" being a 5-digit number
    • and "YYYY" being the current year
  3. Steps 3-4 (Get PDF Metadata and Run AppleScript):

    Takes the first 5 characters of the file name and adds it to a string and this creates the folder name we need becoming "#####_Workers Compensation" (See AppleScript.)

  4. Steps 5-8 (Spotlight,Get Folder Contents, Filter Finder Items, Set Value of Variable):

    Uses the newly created folder name to do a spotlight search as well as filters down to a destination folder which we stored in a variable called 'Destination.

  5. Steps 9-10 (Get Value of Variable and Move Finder Items):

    Calls MovingFile variable and moves it to the Destination folder

Thanks for your help @red_menace it caused me to think outside of what I was trying to do.