Emeds 0 Posted October 3, 2015 Posted October 3, 2015 I'm wondering if anybody has made their own simple script to go through (recursively) sub-directories and remove x in filnames with y. I've looked online (python) and found some pretty long winded solutions, but I feel like this could be done simply in a nested for loop with only 1 or 2 modules. for filename in dir: if filename contains ['list', 'of', 'items', 'easily', 'enumerated'] newname = filename.replace(x,y) os.rename(filename,newname) That is non recursive, but has been working for regular txt files for me, but not folders. Any suggestions?
Nologic 30 Posted October 3, 2015 Posted October 3, 2015 (edited) For general files I use Flash Renamer but it's a retail app. For renaming TV shows I use theRenamer. For renaming Movies I use Media Center Master. I also use it to fetch metadata and images for both Movies & TV. You can find a great list over at gizmo's freeware. Plus don't forget to look for alternatives @ alternativeto Oh for a light weight renaming...you could checkout the one included with FileMenu Tools. (Install the portable version, or risk getting hit by OpenCandy) Past that I end up having to write custom AutoIt scripts to do really odd ball renaming. If you really want to do something in python, I'd search on Stack Overflow...and if you don't find anything then post the question there. Edited October 3, 2015 by Nologic 1
Emeds 0 Posted October 4, 2015 Author Posted October 4, 2015 Ok, I'll probably head over to stack overflow if it will let me submit a question. And if I get a response, as well, I'll post the source code (probably a 40kb file). Thanks!
Nologic 30 Posted October 4, 2015 Posted October 4, 2015 Well best of luck. I'd be surprised if it came in at 40kb...I could do basic renaming in like 4-5kb in AutoIt. If you are on Linux...you might try running some of those app's in Wine...theRenamer would likely fail as it's based on Flash...and well Flash on Linux sucks. Course if you are on Linux you could try FileBot...not my first pick, but not bad at all, if you are doing media files (TV, Movie).
JeremyG 20 Posted October 5, 2015 Posted October 5, 2015 (edited) Some powershell code. This will do files AND folders. You can just edit this text....change the strings to what you want....and paste it into your powershell Window. Make Sure You Set the $MediaFolder Correct! If you want to save it for future use, save a .ps1 file. Then you have to enable scripts to run (safety feature) See this link: https://technet.microsoft.com/en-us/library/ee176961.aspx $badstring = "StringIDontWant" $goodstring = "StringIDoWant" $MediaFolder = "X:\MyMediaFolder" $files = Get-ChildItem $MediaFolder -Recurse foreach ($item in $files) { If ($item.Name.IndexOf($badstring) -ne -1) { $item | rename-Item -NewName { $_.name -replace $badstring, $goodstring } } } Edited October 5, 2015 by JeremyG 2
Emeds 0 Posted November 21, 2015 Author Posted November 21, 2015 Ah very cool JeremyG, I was trying out powershell recently. I did however complete a python script that does what I want after, if anyone else is interested. I have it setup to run like from the command line, and might even package it into a nice little executable tool with a UI.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now