Click here to Skip to main content
13,249,087 members (43,463 online)
Click here to Skip to main content
Add your own
alternative version


26 bookmarked
Posted 9 Sep 2005

File Rename Using Boost Regex and Boost File System

, 9 Sep 2005
Rate this:
Please Sign up or sign in to vote.
File rename using boost regex and boost file system
Sample Image - File_rename_using_regex.jpg


As a professional programmer, you often have to rename lots of files. While in potential the 'move' command from cmd could do the same, it often ends up in a mess.

Therefore I wrote a simple tool using the Boost libraries regex and filesystem, in which a user supplied directory is scanned and files are renamed by using regex_replace. Note that regex syntax is powerful and complex and therefore I added the possibility to test first the supplied format string.

Simple Use

For a complete overview of boost::regex_replace, please refer to A simple use was e.g. that a MP3 compressor created '01) Bla.mp3' from my CD's, while I preferred to store them like 'Artist - Bla.mp3'. Feeding '\d{2}\)' as regular expression (without quotes) will instruct the regex engine to search for two numbers followed by a ')'. This match can be replaced by the artists' name.


The code is a simple MFC dialog with two extra classes:

  • KFrnDirectoryScanner - Thin wrapper around boost::filesystem
  • KFrnMoveFile - Function object which does the actual renaming

The only caveat is that you better first take a snapshot of the content of the directory, before you end up in recursively calling a just renamed file.


The code is built with Visual Studio 2003. Of course, it is absolutely necessary that you have Boost (version 1.33) and also the DLLs of the above mentioned libraries (see documentation of Boost or my other article 'Building boost libraries for Visual Studio').

Room for Improvement

Probably it would be nice to also have:

  • a browse button
  • combobox which keeps its history


  • 9th September, 2005: Initial post


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Software Developer (Senior)
Netherlands Netherlands
Born in the Netherlands in 1971. Spent since 1998 years as a software engineer programming Windows application(s) using, UML, C++, MFC, STL, DirectShow and Boost.

You may also be interested in...


Comments and Discussions

GeneralLinks Pin
YoSilver10-Sep-05 11:02
memberYoSilver10-Sep-05 11:02 
GeneralRe: Links Pin
Gast12810-Sep-05 12:17
memberGast12810-Sep-05 12:17 
GeneralRe: Links 2 Pin
Gast12811-Sep-05 1:25
memberGast12811-Sep-05 1:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.171114.1 | Last Updated 9 Sep 2005
Article Copyright 2005 by Gast128
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid