is there any way to rename a file automatically by Automator, removing first 6 characters and moving them to the back of the file name (and adding a space before that)?
Example
20-10-03 Testing.zip
Rename to:
Testing 20-10-03.zip
Thanks!
automatorfinder
is there any way to rename a file automatically by Automator, removing first 6 characters and moving them to the back of the file name (and adding a space before that)?
Example
20-10-03 Testing.zip
Rename to:
Testing 20-10-03.zip
Thanks!
Best Answer
Yes, one of the ways it can be done in Automator is by using a Run Shell Script action with the example bash script code shown further below.
You can create an Automator Workflow, or Service/Quick Action, workflow.
If you do just a Workflow, then you will need to add a Files & Folders action, e.g. Get Selected Finder Items or Get Specified Finder Items, and then add a Run Shell Script action.
If you do a Service/Quick Action, then you only need a Run Shell Script action.
If you do choose a Service/Quick Action then set it to use files and folders in Finder.
For the Run Shell Script action, have its settings configured as:
/bin/bash
The example bash script code uses shell parameter expansion to slice and dice the fully qualified pathname of the file(s) passed to it into the necessary pieces and then renames the file(s) using the
mv
command with the-n
option, which will not overwrite an existing file, based on the values of the sliced and diced pieces of the fully qualified pathname.As coded, it uses a regex to only act on files that starts with two digits, followed by a dash, followed by two digits, followed by a dash, followed by two digits, followed by a space, followed by additional characters and a file extension, e.g.: 20-10-03 Testing.zip
Example bash script code:
The output of which would be, e.g.: Testing 20-10-03.zip
Note: The example bash script code is just that and does not contain any additional error handling as may be appropriate. The onus is upon the user to add any error handling as may be appropriate, needed or wanted.