Batch converting filenames to/from hex?
August 28, 2006 11:43 AM Subscribe
Is there a good way to convert an entire directory of numbered files from hex to decimal notation or vice versa? For example, I'll have files named AK00.txt AK03.txt and AK1F.txt that I want to convert to AK00.txt AK03.txt and AK31.txt. I've considered writing a shell script to do this, but if a solution already exists, I would love to hear about it. Thanks!
There are a ton of these batch renaming programs available, so you might want to try a few and find out which ones work best for you. Here are a few free ones:
ReNamer
Renamer 6
Rename Master
posted by LuckySeven~ at 12:35 PM on August 28, 2006
ReNamer
Renamer 6
Rename Master
posted by LuckySeven~ at 12:35 PM on August 28, 2006
Best answer: Something like:
perl -e 'while(<>) { /AK([0-9a-f][0-9a-f])\.txt/i && rename $_ "AK". hex($1) . ".txt";}'
perhaps (warning, not well tested !)>
posted by pharm at 1:52 PM on August 28, 2006
perl -e 'while(<>) { /AK([0-9a-f][0-9a-f])\.txt/i && rename $_ "AK". hex($1) . ".txt";}'
perhaps (warning, not well tested !)>
posted by pharm at 1:52 PM on August 28, 2006
Best answer: If you you're in a UNIXish environment with a standard Perl installation, you have a rename command.
Replace 'renamed' with whatever destination directory you want -- be sure to avoid any naive solution that does this in place, potentially clobbering files as it goes.
posted by Zed_Lopez at 1:55 PM on August 28, 2006
rename 's{AK(\d+)\.txt}{sprintf("renamed/AK%02X.txt", $1)}e' AK*.txt
Replace 'renamed' with whatever destination directory you want -- be sure to avoid any naive solution that does this in place, potentially clobbering files as it goes.
posted by Zed_Lopez at 1:55 PM on August 28, 2006
Response by poster: Thanks guys... I am not the best at regex, so this is great to get me started!
posted by idontlikewords at 2:31 PM on August 28, 2006
posted by idontlikewords at 2:31 PM on August 28, 2006
This thread is closed to new comments.
posted by chrisamiller at 12:16 PM on August 28, 2006