FastFileRenamer



  • Renaming a big batch of files on Windows is no fun. The ren command is pretty weak and unless one is thrilled at the idea of dealing with NTFS transactions and DTC, even using PS or .Net does not allow for an easy rollback strategy.

    That's where this wonderful utility comes into play:

    Besides having a horse as a logo (to show how fast it is), this magic utility has a "simulate" mode that shows the effect of the rename operation so it's easy to tweak things before actually renaming files. Of course it does not support fancy stuff like regex (as of the latest version released in 2009), but operations are divided in three convenient tabs (Replace, Remove, Insert) so it's even better.

    While this utility is not bleeding-edge it's actually pretty convenient when one has to rename a bunch of files acquired from a P2P network or Usenet where somehow similar but not identical patterns are used by the various uploaders (a terrible use case for regex). That's one of the few utilities I almost always install when I buy a new laptop, and every time I'm thrilled by the installer:

    Besides the installer, my favorite feature is the Options window which contains two settings: Count replacements made (checkbox) and where to store the Count replacements made option (registry or app folder); each setting has its own tab, of course.

    But TRWTF is that even if I did look quite often, I never found a better utility to do this kind of renaming. I remember creating one myself many years ago but it ended up being a truly horrible piece of shit that had too many tweakables options and the horse logo was already taken anyways so I gave up.



  • Windows 3.x called. It wants its installer UI paradigm back.



  • @HuskerFan90 said:

    Windows 3.x called. It wants its installer UI paradigm back.

    At least there is no enabled-but-it-looks-disabled opt-in checkbox for various toolbars and spyware "add-ons".



  •  Thanks.  I use ExplorerXP, which combines similar functionality with directory size display.  The only problem is that it doesn't always populate the right-click menu.



  • Although it's a few years old, Ken Rename does a pretty good job and has a deep feature set (it's just about the only practical way to change the codepage of filenames, for instance).



  • Try Renamer at http://www.den4b.com/?x=downloads - It's my goto for file renames.



  • rename is a great utility if you have any clue what the fuck it does.

    Unfortunately, nobody has any clue what the fuck it does.



  • @Ben L. said:

    rename is a great utility if you have any clue what the fuck it does.

    Unfortunately, nobody has any clue what the fuck it does.

    I wonder if bringing up a linux command-line utility in a thread about Windows GUI utilities is off-topic enough to be ironic, or if it's just stupid.



  • @Ben L. said:

    rename is a great utility if you have any clue what the fuck it does.

    Unfortunately, nobody has any clue what the fuck it does.

    What it does is pretty easy to figure out from the examples. But the syntax is weird and redundant.

     



  • Does SSDS have a mode that can do this?



  • XNView is a piece of image management software we used quite a bit when I used to work in the animation industry. Not only does it support and convert every image format under the sun, but it has a really sophisticated renaming tool that was ideal for renumbering large sets of image sequences.



  • Try http://www.bulkrenameutility.co.uk/
    It supports regex and all those oh-so-kewl features that you look for. The UI isn't very friendly and takes some effort getting used to, but it is well worth the effort.



  • I ran into "Flex Renamer" ages ago, I can't find the source of it, but there's usually an installer kicking around some random blog or another, like this one: http://www.bennadel.com/blog/460-Flex-Renamer-Most-Awesome-Bulk-File-Folder-Regular-Expression-Renamer-Ever.htm



  •  I use the one in Total Commander.



  • So far, I count only five posts that aren't a recommendation for an alternative utility.



  •  @aihtdikh said:

    So far, I count only five posts that aren't a recommendation for an alternative utility.


    So what? He claimed that there was no better utility (and that was TRWTF).



  • I like RenameMaster. Its UI is a bit clunky but it is easy enough to use and has tons of options in its "script editor".

    Also, no installer.



  • @Ronald said:

    @HuskerFan90 said:

    Windows 3.x called. It wants its installer UI paradigm back.

    At least there is no enabled-but-it-looks-disabled opt-in checkbox for various toolbars and spyware "add-ons".

    Touché.

     



  • @Alex Papadumbass said:

     @aihtdikh said:

    So far, I count only five posts that aren't a recommendation for an alternative utility.


    So what? He claimed that there was no better utility (and that was TRWTF).

    Yeah, but this one has a pony, so by definition it's the best.

     



  • @El_Heffe said:

    @Ben L. said:

    rename is a great utility if you have any clue what the fuck it does.

    Unfortunately, nobody has any clue what the fuck it does.

    What it does is pretty easy to figure out from the examples. But the syntax is weird and redundant.
     

    That. Exactly that.

    It looks like a great utility. I've always used sed to do that kind of thing... And I think I'll continue using sed.

     



  • I use "select all of the files, then press f2" - I end up with

    file (1).txt
    file (2).txt
    ...
    


  • Why don't you just install Cygwin and use the well supported and documented Linux commands? Besides, next time you need to do something Windows can't handle you're already halfway there.



  • @llewmawr said:

    Why don't you just install Cygwin and use the well supported and documented Linux commands? Besides, next time you need to do something Windows can't handle you're already halfway there.

    Read the post again. I explained that the kind of renaming I do with this tool is a terrible use case for regex (lots of similar but slightly different changes that are easier to implement when there is a rollback mode and are not convenient to do in a CLI). Linux commands would not help. AND ANY SINGLE FUCKING FILE RENAME THAT CAN BE DONE QUICKLY WITH CYGWIN ON WINDOWS CAN BE DONE QUICKLY WITH POWERSHELL unless you are a fucking retard that learned bash at some point and is too stupid to learn Powershell as well.

    Powershell is built-in since Windows 7 and it does a pretty good job with regex, file listing, commands piping and whatever else you think would be needed from a Cygwin environment. But when I have 50 movies that were acquired by my scripts on P2P networks or Usenet and I want to fix typos and remove the various LOL-WTF or V0M1T group labels from the filenames THERE IS NO FUCKING WAY I'M GONNA USE FUCKING COMMAND-LINE UTILITIES EVEN RUNNING ON CYGWIN. I'm not on the clock billing a client I just want to clean up the file names, so I won't start crunching 300 characters regex to cover all the typos and shit I want to remove from those 50 file names, I prefer to try and rollback quickly in a GUI.

    Linux zealots are fucking tedious, worse than Apple fanbois. I remember so many times on technical forums or usenet discussion groups when someone would ask how to do something specific in IIS, there would always be a fucking smug imbecile that would come and say: use Apache instead. Or if someone would ask what is the proper reboot sequence on a SharePoint farm some other idiot would reply that he never has to reboot his LAMP environment. That's not helpful, that's not even an effective way to promote a platform, that's just childish and annoying.



  • @Ronald said:

    @llewmawr said:
    Why don't you just install Cygwin and use the well supported and documented Linux commands? Besides, next time you need to do something Windows can't handle you're already halfway there.

    Read the post again. I am a Windows fanboi who doesn't understand how to humor.

    FTFY


  • ♿ (Parody)

    @Ronald said:

    Read the post again.

    /golfclap. Best blakeyrant substitute so far.



  • @Ben L. said:

    @Ronald said:
    @llewmawr said:
    Why don't you just install Cygwin and use the well supported and documented Linux commands? Besides, next time you need to do something Windows can't handle you're already halfway there.

    Read the post again. I am a Windows fanboi who doesn't understand how to humor.

    FTFY

    I've been using Linux since the early releases of Mandrake and SuSE, and I know most Unices pretty well too. I even have a client that flies me twice a year all the way to San Diego so I can sit in their break room or flirt with the receptionist while their IBM service team patches mission-critical AIX servers because a while ago I'm the one who figured out how to bring back online their storage adapters after someone made a mistake during a patch deployment. So guess what, I don't need a lecture about Linux or command-line utilities.

    I don't humor young idiots who get their panties in a bunch about Windows 7 like it's the end of the world because this shit has been going for 15 years and you are bringing nothing new to the discussion; the only difference is that you bitch about versions of Windows that are immensely superior to what people older than you had to deal with.

    There was a time where one had to use an obscure API call that fooled Windows into thinking that a screensaver was running in order to prevent hostile users from CTRL-ALT-DELeting kiosk workstations; and before that helpdesk technicians had to guide users in the delicate process of stopping the Netware client and starting WinTrumpet when they wanted to switch between accessing a network drive and downloading files from a ftp server. Do you have any idea how nasty it was to support that O/S? And it was not much better on the servers; for a long time every sysadmin was living in the fear of that dreadful moment where it would be necessary to promote a Backup Domain Controller or (God forbid) where Exchange would hit the 75GB database size limit and come down in flames (I still have a partial numbness in one of my fingers because of the wall I punched as I was trying to bring Exchange back online).

    But Microsoft kept at it and today Windows is pretty decent. It comes fully-equipped (antivirus, zip utility, cd burner) and I haven't seen a BSOD in years. There was a time where I would notice a significantly faster boot time or download speed on my Linux machines compared to my Windows machines. Not anymore. There was also a time where all the scripting on Windows had to be done in batch files or VBScript. Not anymore; now there is Powershell and it's pretty good. So when I have to install a new machine, why would I bother with Linux? There is no point. I install Windows, I download all my stuff from various cloud providers and I'm done. The only two exceptions are 1) the fucking P2P files renaming for which I have now a few alternatives to FastFileRenamer, and 2) the ID3 tags touch-up that I have to do with mp3tag.de because my car radio refuses to put "Artist1" and "Artist1 ft. Artist2" in the same bucket and I don't want to spend hours building playlists.



  • @llewmawr said:

    Why don't you just install Cygwin and use the well supported and documented Linux commands? Besides, next time you need to do something Windows can't handle you're already halfway there.

    No one buys a Cadillac for hands-free calling.



  • @Ronald said:

    @Ben L. said:
    @Ronald said:
    @llewmawr said:
    Why don't you just install Cygwin and use the well supported and documented Linux commands? Besides, next time you need to do something Windows can't handle you're already halfway there.

    Read the post again. I am a Windows fanboi who doesn't understand how to humor.

    FTFY

    I've been using Linux since the early releases of Mandrake and SuSE, and I know most Unices pretty well too. I even have a client that flies me twice a year all the way to San Diego so I can sit in their break room or flirt with the receptionist while their IBM service team patches mission-critical AIX servers because a while ago I'm the one who figured out how to bring back online their storage adapters after someone made a mistake during a patch deployment. So guess what, I don't need a lecture about Linux or command-line utilities.

    I don't humor young idiots who get their panties in a bunch about Windows 7 like it's the end of the world because this shit has been going for 15 years and you are bringing nothing new to the discussion; the only difference is that you bitch about versions of Windows that are immensely superior to what people older than you had to deal with.

    There was a time where one had to use an obscure API call that fooled Windows into thinking that a screensaver was running in order to prevent hostile users from CTRL-ALT-DELeting kiosk workstations; and before that helpdesk technicians had to guide users in the delicate process of stopping the Netware client and starting WinTrumpet when they wanted to switch between accessing a network drive and downloading files from a ftp server. Do you have any idea how nasty it was to support that O/S? And it was not much better on the servers; for a long time every sysadmin was living in the fear of that dreadful moment where it would be necessary to promote a Backup Domain Controller or (God forbid) where Exchange would hit the 75GB database size limit and come down in flames (I still have a partial numbness in one of my fingers because of the wall I punched as I was trying to bring Exchange back online).

    But Microsoft kept at it and today Windows is pretty decent. It comes fully-equipped (antivirus, zip utility, cd burner) and I haven't seen a BSOD in years. There was a time where I would notice a significantly faster boot time or download speed on my Linux machines compared to my Windows machines. Not anymore. There was also a time where all the scripting on Windows had to be done in batch files or VBScript. Not anymore; now there is Powershell and it's pretty good. So when I have to install a new machine, why would I bother with Linux? There is no point. I install Windows, I download all my stuff from various cloud providers and I'm done. The only two exceptions are 1) the fucking P2P files renaming for which I have now a few alternatives to FastFileRenamer, and 2) the ID3 tags touch-up that I have to do with mp3tag.de because my car radio refuses to put "Artist1" and "Artist1 ft. Artist2" in the same bucket and I don't want to spend hours building playlists.

    Thank you for confirming my previous post.



  • @Ronald said:

    @Ben L. said:
    rename is a great utility if you have any clue what the fuck it does.

    Unfortunately, nobody has any clue what the fuck it does.

    I wonder if bringing up a linux command-line utility in a thread about Windows GUI utilities is off-topic enough to be ironic, or if it's just stupid.

    Well that is the kind of troll BenL is!

    incidently i wrote a renaming program many years ago, it was scriptable, but it was a pain to write the scripts, and it was very cumbersome. the last time in needed to rename files I just resorted to C# (C# didn't exist when i wrote my renamer):

    static void Main(string[] args)
    {
        DirectoryInfo dir = new DirectoryInfo("I:/");
        FileInfo[] files = dir.GetFiles();
    
    <span style="color:#800000; font-weight:bold; ">foreach</span> <span style="color:#808030; ">(</span>FileInfo f <span style="color:#800000; font-weight:bold; ">in</span> files<span style="color:#808030; ">)</span>
    <span style="color:#800080; ">{</span>
        <span style="color:#800000; font-weight:bold; ">string</span> newname <span style="color:#808030; ">=</span> f<span style="color:#808030; ">.</span>Name<span style="color:#808030; ">.</span>Substring<span style="color:#808030; ">(</span>f<span style="color:#808030; ">.</span>Name<span style="color:#808030; ">.</span>IndexOf<span style="color:#808030; ">(</span><span style="color:#0000e6; ">'-'</span><span style="color:#808030; ">)</span> <span style="color:#808030; ">+</span> <span style="color:#008c00; ">1</span><span style="color:#808030; ">)</span><span style="color:#808030; ">.</span>Trim<span style="color:#808030; ">(</span><span style="color:#808030; ">)</span><span style="color:#800080; ">;</span>
    
        f<span style="color:#808030; ">.</span>MoveTo<span style="color:#808030; ">(</span>f<span style="color:#808030; ">.</span>DirectoryName <span style="color:#808030; ">+</span> newname<span style="color:#808030; ">)</span><span style="color:#800080; ">;</span>
        <span style="color:#696969; ">//Console.WriteLine(f.DirectoryName + newname);</span>
    <span style="color:#800080; ">}</span>
    

    }


    so it seems Visual studio is my file renamer of choice ^^


  • Considered Harmful

    @esoterik said:

    so it seems Visual studio is my file renamer of choice ^^

    Try LINQPad.



  • @Ronald said:

    Renaming a big batch of files on Windows is no fun. The ren command is pretty weak and unless one is thrilled at the idea of dealing with NTFS transactions and DTC, even using PS or .Net does not allow for an easy rollback strategy.

    PowerShell's cmdlets come with a -WhatIf switch which simulates the actions that would be taken by the cmdlet when executed. :)



  • @Ronald said:

    Renaming a big batch of files on Windows is no fun. The ren command is pretty weak and unless one is thrilled at the idea of dealing with NTFS transactions and DTC, even using PS or .Net does not allow for an easy rollback strategy.
     

    My typical workflow for things like that is 

    • a directory listing redirected into a file;
    • copy all names to a second column in the editor
    • wrote "mv " before them
    • changed the second column to what I see fit
    • Run the mess with eg. "%!bash".

    That's it. All to see until I "commit", editable with RegEx if I feel like it, and/or block operations, etc. etc. etc.

    Summary: If you're a programmer, you should know how to use your editor. And if you do, why not simply use it?



  • @flop said:

    @Ronald said:

    Renaming a big batch of files on Windows is no fun. The ren command is pretty weak and unless one is thrilled at the idea of dealing with NTFS transactions and DTC, even using PS or .Net does not allow for an easy rollback strategy.
     

    My typical workflow for things like that is 

    • a directory listing redirected into a file;
    • copy all names to a second column in the editor
    • wrote "mv " before them
    • changed the second column to what I see fit
    • Run the mess with eg. "%!bash".

    That's it. All to see until I "commit", editable with RegEx if I feel like it, and/or block operations, etc. etc. etc.

    Summary: If you're a programmer, you should know how to use your editor. And if you do, why not simply use it?

    That solves the "rollback" problem but not the convenience or speed problem - what you suggest is actually longer.

    Let's suppose that I have 50 files and that I can spot easily 10 patterns (remove "LOL", remove "V0m1T", replace or remove "_", etc.) and 20 individual changes. Let's see how it goes:

    Scenario 1: command-line only

    1. Open command prompt or terminal
    2. Figure out then execute regex 1 to 10, possibly doing a few errors and fixing them, and re-list file names quite often
    3. Perform 20 individual renames OR 20 individual regex and re-list file names quite often
    4. Close prompt or terminal

    Scenario 2: your solution

    1. Open command prompt or terminal
    2. Open editor then acquire list (or the other way around depending on the editor)
    3. Duplicate file names in second column and prepend "mv "
    4. Figure out then execute regex 1 to 10, possibly doing a few errors and fixing them
    5. Perform 20 individual renames or 20 individual regex
    6. Close editor, allow execute on script then execute script OR run command from the editor (depending on the editor)
    7. Close prompt or terminal

    Scenario 3: FastFileRenamer

    1. Open FastFileRenamerl
    2. Perform 30 renames, either individual or more generic
    3. Close FastFileRenamer

    Your approach is not bad; I used to do something vaguely similar with Excel, then with UltraEdit, then GVIM but I ended up using FastFileRenamer because I can do it much faster that way. However if I have a situation where a regex is convenient (like renaming all the chapters in an audio book) then of course I won't bother with a GUI.

    Knowing an editor is a good thing, but it's not the only tool in my toolbox. Doing the job fast and with as little pain as possible is the only goal here.



  • On two separate occasions I've written file rename utilities. One of them was a fairly noninteresting case of a simple rename/replace. The other time, I wanted to rename a bunch of digital photos from several different cameras to start with a date-and-time stamp so that they'd sort chronologically (e.g. 2013-11-12 2103 DCIM5371.JPG comes before 2013-11-12 2107 HPIM_597.JPG). Easy, you say: just sort them by date modified and ignore the filenames altogether. Well, that was the catch: neither camera's time was even remotely close to correct, so sorting by date modified just placed all of the photos from one camera before all of the photos from the other camera (they were far enough off that they didn't even overlap).

    What I ended up doing: take a photo of the NIST's time website with each camera and figure out what the time offset was for that camera's photos, based on the time shown in the photo vs. the time on the file's metadata. Then design a photo rename utility that read the date modified for each file, adjusted it by the time offset, and used that time to rename the file. I wonder if I still have that somewhere...



  • @flop said:

    @Ronald said:

    Renaming a big batch of files on Windows is no fun. The ren command is pretty weak and unless one is thrilled at the idea of dealing with NTFS transactions and DTC, even using PS or .Net does not allow for an easy rollback strategy.
     

    My typical workflow for things like that is 

    • a directory listing redirected into a file;
    • copy all names to a second column in the editor
    • wrote "mv " before them
    • changed the second column to what I see fit
    • Run the mess with eg. "%!bash".

    That's it. All to see until I "commit", editable with RegEx if I feel like it, and/or block operations, etc. etc. etc.

    Summary: If you're a programmer, you should know how to use your editor. And if you do, why not simply use it?

    I suppose I should mention that I've done this on more than a few occasions (in Windows, but same concept). Redirect the output from DIR /B to a file, open that in either Notepad++ or Excel (as a CSV file), add REN at the beginning and a new name on each line, and execute it.



  • http://www.softpointer.com/tr.htm - this one's particularly good for tagging and renaming music, as you might guess from the name, but also has some reasonably usable filtering and batch-renaming tools you can use with any files.


Log in to reply