This project is read-only.

This documentation is out of date! An update will be forthcoming soon.


  • This software will not work on locked files, nor is it really designed to do so. If there is a locked file that this program cannot delete, it is highly recommended that you determine what has locked it and get that program to release the lock before continuing the operation.
  • All IO errors should properly be logged now, and provide the exception message as well as a general description of what operation has failed.
  • This software has been tested on mono to some degree, but could probably use more testing. As long as the winforms dependencies have been compiled though, it should work on mono for both *NIX and MacOSX.
  • Strip, Replace and Prefix are currently not threaded operations. I will be fixing this at some point before declaring a "feature complete" release.
  • Aside from that, this is a stable piece of software as far as it has been tested to date.
  • For regex format examples I use this:

Strip text from file names

Bulk File Manager v1.2 Stable
  • Strip options
    • Recurse Directories - Strip the supplied text off of file names in sub-directories of the specified directory.
    • Strip from Directories - Also attempt strip the text from the directory names.
    • Use regex - Strip a regex pattern from a file.
      • This functionality uses the System.RegularExpressions.Regex.Replace() returning the string with the supplied pattern replaced with "".

Prefix file names

Bulk File Manager v1.2 Stable
  • Prefix options
    • Recurse Directories - Prefix sub-directories of the specified directory with the supplied text.
    • Prefix Directories - Apply prefix to directories as well.

Replace text in filenames

Bulk File Manager v1.2 Stable
  • Replace Options
    • Recurse subdirectories - Replace "Text to replace" text with "Replace with...." text in sub-directories of the specified directory.
    • Replace text in directories - Perform the replacement in directory names as well.
    • Use regex - Replace "Text to replace" text with "Replace with...." text using regex patterns (Grouping should work here).

Bulk Mover

This allows you to move many files from multiple locations into one location.

  • My main use for this has been to go get errant downloads from directories they do not belong in (such as going and grabbing all .EXE or .ZIP from specified music/video directories).
Bulk File Manager v1.2 Stable
  • Bulk Mover Options
    • Move If - These are the conditions with which to grab files from the scanned directories and move them into the deposit directory.
      • File extension contains - if the file extension has a match
      • File name contains - if the file name has a match
      • Directory name contains - if the directory name has a match
      • Ext/Filename/Dir Contains supplied regex pattern below: - Utilize a Regex.IsMatch() to move files
    • Options - Misc options
      • Delete Empty Directories - Delete a directory if it is empty after all matches are moved.
      • Do Not Recurse Child Directories - Don't parse subdirectories

Zero Byte File/empty Dir Management

Bulk File Manager v1.2 Stable
  • Find Zero Byte Files - Locate zero byte files within the scan directory and its subdirectories.
  • Find Empty Directories - Locate any directories which have both a child file and child directory count of 0.

Bulk File Manager v1.2 Stable
  • Context Menu
    • The context menu can be accessed by right clicking in the results box.
    • Option accessibility varies based on selected item state.
      • Delete all items -- Will be enabled if the list box has items.
      • Delete selected item(s) -- Will be enabled if any items are selected.
      • Run selected file/directory in explorer -- Will be enabled if only one item is selected.


  • This tab allows you to specify a directory to scan and then scans for duplicates. Please see deduplication options for more.

Context Menus

Bulk File Manager v1.2 Stable
  • Lefthand context menu
    • Open file location - Will be enabled when a single file is selected.
    • Delete all dupes for selection(s) - Will delete all dupes for the selected item(s).
    • Delete every dupe in list - Will allow the user to delete all dupes. Will only be enabled when scan is completed.

Bulk File Manager v1.2 Stable
  • Right hand context menu
    • Delete - Delete selected file.
    • Open File Location - Open selected file location

Bulk File Manager v1.2 Stable
  • Options
    • Separate values by using the "|" character.
      • Fully scan the following extensions: - Scan more than 2-4MB of any extensions specified. the "." is required.
      • Do not scan the following directories: - Skip scanning any of the following directories.
        • If a subdirectory of a "Do Not Scan" directory is selected, the scan will still progress (barring of course, one of the subdirectories also being on the Do Not Scan list)
      • Do not scan the following extensions: - Extensions to skip scanning.
    • Short Scan Options
      • Scan first 2MB - Scans the first 2,048,000 characters of a file to hash.
      • Scan last 2MB - Scans the last 2,048,000 characters of a file to hash.
      • Scan both first and last 2MB - Reads both starting and ending 2,048,000 characters of a file to hash.
    • Thread priority
      • low - Delay 750 MS between scans, and set thread priority to low.
      • below-normal - Delay 375 MS between scans and set thread priority to below normal.
      • normal - No delay, thread priority set to normal.

Error Log

Bulk File Manager v1.2 Stable
  • Accumulates any exceptions that are caught throughout the process (as well as throwing notifications if a file is encountered on the do not scan list, for example).
  • Log can be cleared with the clear log button.
  • Number of errors is reported in the tab so you can tell at a glance if something has happened. Clearing the log will clear the number.

Last edited Sep 18, 2010 at 10:39 AM by stauken, version 11


shazzam Apr 19, 2013 at 6:48 AM 
Thank You, I will use this to learn how to have tabs and subforms, donated :)