Henrik
Henrik

Reputation: 4034

Run Bash script on selected files in Finder

I have a tiny Bash script that executes ffmpeg and a touch command on an input file. I use this to recompress video files from my camera. I would like to be able to right-click files in Finder and run the script on the select file(s), preferably showing the terminal window while executing and closing when done.

How to do this on macOS?

Upvotes: 1

Views: 1392

Answers (2)

Nestor Milyaev
Nestor Milyaev

Reputation: 6595

Why using finder? Or automator? Or going though loops and hoops just to use the GUI?

You have fully-functional bash shell in MacOS, so save time and hassle with the below one-liner.

Assuming you need to run your script for all *.mpeg files in the folder.

Try this:

ls *mpeg | xargs <your_script_name> 

You will see the execution output in the same terminal window.

Upvotes: -1

Mark Setchell
Mark Setchell

Reputation: 207405

I think this is what you want. I started Automator by pressing space and starting to type "Automator", hitting as soon as it guessed correctly. I then created a "Quick Action" that contains this code:

on run {input, parameters}

    repeat with theItem in input
        set f to POSIX path of theItem
        tell application "Terminal"
            activate
            tell window 1
                do script "echo " & f
            end tell
        end tell
    end repeat
end run

and looks like this:

enter image description here

It basically just echos the filename, but you can put ffmpeg commands in there instead.

Upvotes: 1

Related Questions