-
-
Save joshuapekera/ddfb8a8d366df7d9641d2fc288c881c1 to your computer and use it in GitHub Desktop.
Simple AppleScript to easily batch rename multiple files sequentially. GUI asks user to select files and input a name before renaming.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- This code comes from https://gist.github.com/oliveratgithub/ | |
-- Open in AppleScript Editor and save as Application | |
-- ------------------------------------------------------------ | |
--this is required to break the filename into pieces (separate name and extension) | |
set text item delimiters to "." | |
tell application "Finder" | |
set all_files to every item of (choose file with prompt "Choose the Files you'd like to rename:" with multiple selections allowed) as list | |
display dialog "New file name:" default answer "" | |
set new_name to text returned of result | |
--now we start looping through all selected files. 'index' is our counter that we initially set to 1 and then count up with every file. | |
--the 'index' number is of course required for the sequential renaming of our files! | |
repeat with index from 1 to the count of all_files | |
--using our index, we select the appropriate file from our list | |
set this_file to item index of all_files | |
set {itemName, itemExtension} to {name, name extension} of this_file | |
--if the index number is lower than 10, we will add a preceding "0" for a proper filename sorting later | |
if index is less than 10 then | |
set index_prefix to "0" | |
else | |
set index_prefix to "" | |
end if | |
-- | |
--lets check if the current file from our list (based on index-number) has even any file-extension | |
if itemExtension is "" then | |
-- "" means there is no file-extension present. | |
set file_extension to "" | |
else | |
--yup, we are currently processing a file that has a file-extension | |
--we have to re-add the original file-extension after changing the name of the file! | |
set file_extension to "." & itemExtension | |
end if | |
--let's rename our file, add the sequential number from 'index' and add the file-extension to it | |
set the name of this_file to new_name & index_prefix & index & file_extension as string | |
end repeat | |
--congratulations for successfully accomplishing the batch renaming task :) | |
display alert "All done! Renamed " & index & " files with '" & new_name & "' for you. Have a great day! :)" | |
end tell |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- This code comes from https://gist.github.com/oliveratgithub/ | |
-- Open in AppleScript Editor and save as Application | |
-- ------------------------------------------------------------ | |
--this is required to break the filename into pieces (separate name and extension) | |
set text item delimiters to "." | |
-- Let the App receive drag'n'dropped files | |
on open theDroppedItems | |
-- build the file list based on the dropped files | |
set all_files to every item of theDroppedItems as list | |
tell application "Finder" | |
display dialog "New file name:" default answer "" | |
set new_name to text returned of result | |
--now we start looping through all selected files. 'index' is our counter that we initially set to 1 and then count up with every file. | |
--the 'index' number is of course required for the sequential renaming of our files! | |
repeat with index from 1 to the count of all_files | |
--using our index, we select the appropriate file from our list | |
set this_file to item index of all_files | |
set {itemName, itemExtension} to {name, name extension} of this_file | |
--if the index number is lower than 10, we will add a preceding "0" for a proper filename sorting later | |
if index is less than 10 then | |
set index_prefix to "0" | |
else | |
set index_prefix to "" | |
end if | |
-- | |
--lets check if the current file from our list (based on index-number) has even any file-extension | |
if itemExtension is "" then | |
-- "" means there is no file-extension present. | |
set file_extension to "" | |
else | |
--yup, we are currently processing a file that has a file-extension | |
--we have to re-add the original file-extension after changing the name of the file! | |
set file_extension to "." & itemExtension | |
end if | |
--let's rename our file, add the sequential number from 'index' and add the file-extension to it | |
set the name of this_file to new_name & index_prefix & index & file_extension as string | |
end repeat | |
--congratulations for successfully accomplishing the batch renaming task :) | |
display alert "All done! Renamed " & index & " files with '" & new_name & "' for you. Have a great day! :)" | |
end tell | |
end open |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment