Free Software for DOS
File Utilities – 1
Rename, Copy, Move, Attributes & More

21 Aug 2006

Global Menu:
Go back to Front Page Menus

Go to top of File Utils – 2
Go to top of File Utils – 3

This page:
RENAME: 8+3 file names only

RENAME: Long File Names supported






Page 2:






Page 3:
FILE FINDERS: System only

FILE FINDERS: System and Archive





Also see: Meyer File/Directory Utilities (MFD).

Win9x note: Unless explicitly noted in the description, do not assume support for Win9x LFNs.

RENAME: 8+3 file names only

Rename with number

FRENUM — Rename series of files with sequential numbers, optional prefix string.


[added 1998-11-10]

"...renames files which fit a given filespec according to a new name made from a string and a number. The file extension is not changed. Existing file names are previously sorted in RAM. The maximum number of files which can be renamed in a single command is 4000. The string is optional. The numbers will be made from a given minimum amount of digits and a starting point for number generation..." Can run interactively or in batch mode.

Use: FRENUM filemask serial-ID a b
        filemask: file spec of files to be renumbered
        serial-ID: a string for identification (for none, enter *)
        a: minimum number of digits to append to SerialID
        b: starting number for 'aa'

Author: João Magalhaes, Portugal (1998).

1998-10-06 release.

Download (9K).

Ren2Num — Rename file to number; sequential numbering based on existing file names.


[added 1998-03-27]

"infile.ext will be renamed to (x+1).ext, where x is the highest number found in the same dir, with the same extension." No wildcard support (but try using it with Locate's /O switch).

Author: Arjen Venhuis, Netherlands (1997).

1997-03-09 release.

Download (6K).

Rename with date...

ND — Flexible file rename with date or time, duplicate prevention.

* * * * *

[updated 2004-06-13]

From the docs:
The function of ND is to rename files using a format string such as the current date. For example, you can use ND to rename a file such as CHANNEL1.QWK to 920203.QWK. This is handy if you want to do something like archive log or message files using the current date.

Accepts wildcards. Checks for duplications, and allows addition of dup prevention characters. Allows modification of extensions.

USAGE: ND file names /f= /e= /d= /t= /p /b /?
/f=format for new name. Legal constructs are:
...yyyy.. Year (4 digit)
...yy.... Year (2 digit) Month
...dd.... Day
...hh.... Hour Minute
...'xyz'. Literal (i.e. insert what's between the ' and ')
...a..... Put 1 to 4 of these in a row for "duplication preventers" between A and Z
...n..... Ditto but with the digits 0 to 9
/e=new extension
/d=new date of form mm/dd/yy
/t=new time of form hh:mm
/p gives a prompt and current settings before executing
/b Append a duplicate preventer on the first filename

Author: Gordon Haff / Bit Masons Consulting (1992).

1992-02-04: v2.00.

download (27K).

WMD2FN (Date 2 File Name) — Rename file to current date; customizable date formats.

* * * *

[added 1998-06-02]

This flexible rename-to-date util offers customization of date formats. Running WMD2FN without any parameters will rename a given file to today's date (default format= y-m-d.ext, file extension unaltered). Using the -f parameter, you can roll your own date format using numerical day, month, and 2 or 4-digit year. The file extension can be altered and normal characters can be inserted within a date string. Date format characters may also be used in the file extension.

Usage: WMD2FN [{[-|/]opt ...} filename ...] ...
f{$}{.{ext}} --- set format of date to $
     where $ is:
     d ---- replaced with 2 digits representing day
     m ---- replaced with 2 digits representing month
     y ---- replaced with 2 digits representing decade (95)
     yy --- replaced with 4 digits representing century (1996)
     @ ---- next character to be replaced verbatim
     all other characters replaced verbatim
     .ext specifies new extension for file, '-f{$}.' for none

Author: Warren Mann (1998).

1998-05-05: v1.02.

Download (8K).

Fdate — Rename file to its date or to calendar date.
Midnight — Change a file's timestamp only.
Isnewer — Compare the dates of two files.

* * *

[updated 2006-08-21]

This is a set of three complementary programs in one distribution package.

From the docs:
Fdate is a program which uses certain rules to rename the files given to it to either the date of the file itself, or the "current" date. Fdate currently supports the Julian date format, YYYYMMDD format, and "hex-seconds-since-the-epoch" which should be familiar to C programmers.
Some features may not work as expected if the TZ environment string is not set.
Fdate was released as donationware.
Options are:
-d: the filename is set to the date, in YYYYMMDD format (default).
-x: the filename is set to the number of seconds, in hex,
    that last midnight GMT was, since 0:01 GMT on January 1, 1970.
-j: the file extension (filetype) is set to the Julian
-c: use the "current" date, and not the date on the file.
-f: use the file's date, not the "current" date (default).
-s: subtract days days from the "current" date.
-o: force the "current" date to the weekday numbered dow
    (using the scheme 0=Sun, 6=Sat, etc.).
-l: only do the rename if the date on the file is less than the
    current date.
-a: Always - always do the rename (default).

Midnight sets a file's time to specified hh:mm. If no time is specified, it defaults to midnight.

Isnewer "examines the modification dates of two files and returns a true (1) if file1 is newer than file2."

Author: Garrett A. Wollman (1989, 1990).



Download (27K).

RENAME: Long File Names supported

Also see LREN, one of the LFN Tools, supporting Win9x long file names (LFNs) under plain DOS.

BK Renamer — Renames all files in a directory, based on a regular expression.


[added 2005-02-04]

Usage, from the doc file:
  bkren [-s] "searchexpression" "replaceexpression"


bkren "(.*)\.htm" "\1.html"
  (Change all files/folders in the current directory with the .htm
   extension to have the .html extension.)

bkren "(.*)\.([^.]*)" "\1_backup.\2"
  (Appends _backup to all filenames, but before the file extension.
   For example, changes bkren.txt to bkren_backup.txt and test.html
   to test_backup.html.)

bkren -s "(.*)100(.*)" "\1303\2"
  (... go through all filenames in the current directory and all
   subdirectories and change all instances of "100" "303".
   For to to

For Win9x command line.

Author: Bill Klein / Custom Fit Software, Canada (2000).

2000-06-23: v1.00.

Download (25K).

More info at the Renamer page.

Swap — Swap filenames of two files.


[added 1999-08-22, updated 2005-07-01]

Syntax: swap <file1> <file2>

file1 will be renamed file2, and file2 will be renamed file1.

Author: Brian Friesen / Freezerware (2001).

2001-01-01: v3.0 for 16-bit DOS, v3.1 for Win32 console.


More in these pages from Brian Friesen.


Touch (YATU, Yet Another Touch Utility) — Enhanced file date and time modifier.

* * * * *

[updated 2003-10-31] is a file date, time, and attribute modifier which offers maximum flexibility. What helps sets Touch apart is its ability to act on a file list (a text file containing a list of files to modify). Simplified syntax for touching entire directories and drives. Supports U.S., European, and Japanese date formats. Good docs. Includes ASM source. FreeDOS compatible, runs on 8086+.

Brief Syntax:
TOUCH.COM v1.08d 2003-10-05 C. Dye
GPL Freeware. Copyright 1996-2003. No warranty!

TOUCH [filespecs] [options]

 /D:date set to specific date /D set to today's date
 /T:time set to specific time /T set to current time
 /C=file copy stamps from file
 /A:attr change file attributes
 /P offer yes/no prompt /F:x set date format
 /S recurse into subdirectories /M page output

Unless you use /D /T /C or /A, no changes will be made!
Try /D? /T? /C? /A? /F? or /M? for more info.
The local date format is MM-DD-YYYY; you may omit the year.

Author: Charles Dye / Freeware, FreeDOS and 4DOS-related stuff (2003).

2003-10-31: v1.08d.

Download (51K).

More in these pages from Charles Dye.

ATTRIB — Enhanced ATTRIB replacement.

* * * * *

[added 1998-06-06, updated 2001-01-05]

An intelligent substitute for MS-DOS' ATTRIB command. Some notable differences, liberally quoted and paraphrased from the good documentation:
ATTRIB [operators] [filespecs] [switches]

   + set   - clear   ~ toggle   = exact
   A  Archive    H  Hidden
   S  System     R  Read-only

   /S  recurse into subdirectories
   /P  offer yes/no prompt
   /B  batch,  /V verbose,  /N traditional display
   /M  page output
   /D  wildcards may match directory names

   /C=filename   copy attributes from file
   /A:mask       filter by attributes

Author: Charles Dye / Freeware, FreeDOS and 4DOS-related stuff (2001).

2001-01-01: v1.09b.

Download (45K).

More in these pages from Charles Dye.


Also see LCOPY, one of the LFN Tools, supporting Win9x long file names (LFNs) under plain DOS.

MultiCopy (MCopy) — Copy multiple specific or grouped files with one command.
MultiMove (MMove) — Move multiple specific or grouped files with one command.


[added 1999-08-19, updated 2005-09-24]

From the docs:
MCOPY will allow you to copy multiple files that you cannot normally group with standard wildcards (* and ?)...just separate the files with commas...MCOPY will overwrite files if they exist...
Usage - mcopy <file1>,<file2>,... <destination>
MCOPY AUTOEXEC.BAT,CONFIG.SYS C:\TEMP   - Will copy the files to C:\TEMP
MCOPY *.EXE,*.COM,*.BAT C:\UTILS        - Will copy the files to C:\UTILS

MMOVE works in a similar fashion.

Author: Brian Friesen / Freezerware (1999).

2001-01-01: Both programs, v3.0 for 16-bit DOS, v3.1 for Win32 console.




Also see: MultiDelete by the same author.

Note that the Unixish GNU Fileutils cp (copy), mv (move), and rm (delete) also allow multiple filenames on the command line.

More in these pages from Brian Friesen.

XXCOPY — Much enhanced and extended XCOPY substitute (Win32 console and 16-bit versions).

* * * * *

[added 2000-02-02, updated 2005-12-09]

XXCOPY is a much-enhanced replacement for Microsoft's XCOPY32 and XCOPY. The 16-bit version (XXCOPY16) is also compatible with MS-DOS versions, as well as DR-DOS. Although XXCOPY's available options extend well beyond those of MS's XCOPY, those shared between XCOPY and XXCOPY differ little.

Enhancements: The number of available XXCOPY switches is almost overwhelming (>160). Use /? to get a concise help display or /HELP for a complete list of switches. The new alphabetic listing (/HELPA) facilitates locating the description of a switch. The best overview of available options is online at Technical Bulletin #27.

Although XXCOPY is targeted to IT professionals as a routine backup and system maintenance tool, one of the most popular features for the end user is the /CLONE switch that can be used to duplicate a Win9x system disk (bootable), and is also useful for daily directory backup chores. The /CLONE switch combines the most commonly used backup job switches, but is easier to remember (Technical Bulletin #10 describes step-by-step instructions for disk clone operation from start to finish).

One of the most significant improvements in recent versions is an enhanced wildcard feature ("wild-wild-source") that allows the use of wildcard characters at any place in the source specifier, making XXCOPY's directory/file selection uniquely flexible.

XXCOPY is free for non-commercial users only. A commercial version with network features is also available.

Author: Kan Yabumoto / Pixelab, Inc. (2005).

2005-08-25: Version 2.92.6.

Download, containing 16- and 32-bit versions (239K).

XXCOPY home page

Also see the XXCOPY discussion group at Yahoo.

XCLONE — Copy entire drive or directories; Win9x LFN compatible.


[added 2000-05-12]

Small and easy-to-use drive and directory cloner (file-by-file not sector-by-sector). Included here primarily because it can preserve LFNs when used under Win9x (but can't copy "in-use" files).

USAGE: xclone [options] source destination
    -h -?     print help
    -v        verbose
    -p        pause listing after each page
    -f        fast (don't verify destination files)
    -l        list destination files but don't actually copy
  xclone c: d:            clone entire contents of drive c to drive d
  xclone \windows \save   duplicate windows tree in a directory called save
  xclone . e:\            clone current directory to root directory of e:

Author: David Weber (1998).

1998-20-24: v1.3.

Download (20K).

Zcopy — Xcopy, copy or move files, synch dirs. With date/time filters.

* * * *

Zcopy may be the only xcopy or move replacement you'll need. Includes several date and time filter options. Also functions as a file "synchronizer" ("...when a file does NOT exist in the source-directory, it is removed from the target-directory"). Version 3.5 (05-97), compatible with year 2000 and beyond.

Usage: ZCOPY <SourcePath+FileSpec> [<TargetPath>] [<Params>]
[/A].......Only copy/move files with archive-attribute set.
[/DE[:MM-DD-YYYY]].Copy/move files with date.
[/DY[:MM-DD-YYYY]].Copy/move files with or younger then date.
[/DO[:MM-DD-YYYY]].Copy/move files with or older then date.
[/F].......Fill diskette.
[/I].......Copy/move-operation CANNOT be interrupted with ESC.
[/M].......Move files instead of copy.
[/N].......Only copy/move changed files.
[/P].......Prompt before overwriting files.
[/Q].......Quiet mode, no screen-updates.
[/S].......Copy sub-directories-structures (also empty ones).
[/TE[:HH:MM:SS]]...Copy/move files with time.
[/TY[:HH:MM:SS]]...Copy/move files with or younger then time.
[/TO[:HH:MM:SS]]...Copy/move files with or older then time.
[/U].......Update, synchronize source and target directory.

Author: Chris Buijs, Netherlands (1997).

1997-05-08: v3.5.



Also see XXCOPY and ZCOPY, above.

DIRCOMP — Directory synchronizer tool.


[added 2000-05-12, updated 2004-04-17]

Comments: quite flexible, if somewhat large / slow. Syntax:
DIRCOMP directory1 directory2 [ /S ] [ /CREATE ]
[ /NONE | /A | /U | /AU | /DIFF | /CLONE ] [ /KILL ] [ /MOVE ]
[ /Xfilespec ]... [ /Nfilespec ]... [ /-Ssubspec ]...
[ /+Ssubspec ]... [ /ATTR=attribs ] [ /F | /Frptfile | /-F ]
[ /OVERWRITE | /APPEND | /-OVERWRITE ] [ /ALL ] [ /T=temp_dir ]
[ /Q ] [ /COLOR=nnn | /MONO ] [ /Iinitfile | /-I ] [ /-ENV ] [ /? ]
A few of the more significant options:
/NONE.......skip everything and just report on the differences.
/A..........only copy files to the destination subdirectory only if
            they are not currently there.
/U..........only copy files to the destination subdirectory if they
            are newer in the source subdirectory.
/AU.........copy files if they are either not in the destination
            subdirectory or they're more recent in the source subdirectory.
/DIFF.......copy any files which are different in size, creation date,
            or time as well as any files which don't already exist in the
            destination subdirectory at all.
/CLONE......copy all files from directory1 to directory2. Period.
/KILL.......delete any files in directory2 which are not in directory1.
/MOVE.......move the files instead of copying them.
/Xfilespec..exclude certain filespecs
/Nfilespec..include certain filespecs.
/-Ssubspec..exclude certain subdirectories from being considered.
/+Ssubspec..include certain subdirectories.
/ATTR.......allows you to specify a combination of attributes.
/F..........create a report file.
/ an initialization filelts to "/IDIRCOMP.INI".

Author: Bruce Guthrie (2002).

2002-08-10: v0208.

Download DIRC0208.ZIP (135K).

More in these pages from Bruce Guthrie.

SYNCDIR — Synchronize source and target directories.


[updated 1998-09-20]

Useful for synchronizing files between drives, computers. "...the maximum number of files in either the source or destination directories (not combined) lies somewhere between 45,000 and 300,000, depending upon the average length of the path to the file."

Format: Syncdir src [dst] flags
/a            add files
/c            copy files
/d[d]         delete files
/u            update files
/f[acdu]      force add, copy, delete, update
/r            recurse into subdirectories
/v            verbose mode
/q            quiet mode
/n            no action
/[+][!][name] log actions & errors to [name]
              [+] for append, [!] for errors only
              default name: syncdir.log
/i...         begin include file list
/x...         begin exclude file list
/b            execute in both directions

Some options (/g /t /v) not operable in 16-bit version.

Author: Kyle A. York (1998).

Win32 console

Download (146K), DOS & Win versions.


These similar programs copy selected files from a source to destination drive (i.e., usually assume a floppy). They attempt to efficiently fill the destination drive by first copying / moving those files which will fit best into the available free destination space.

FILL — Efficiently pack files onto floppy.

* * * *

[updated 2002-11-15]

The most complete (and largest) program of the group, and includes a wealth of useful options (e.g., report generation). Can accept listfile for source specs. Includes file splitting option. Destination drive not limited to A or B.

Author: Bruce Guthrie (2002).

2002-08-10: v0208.

Download FILL0208.ZIP (98K).

More in these pages from Bruce Guthrie.

FFIT — Efficiently pack files onto floppy.

* * * *

[updated 2006-08-21]

The exe is less than half Fill's size (50K vs. Fill's 130K), but FFIT has plenty of flexibility. "You can specify alphabetical sorting, no grouping (sequential copying), wanted volume size, how much space you want to leave free on the disks, only use files with archive bit set, test mode (just print the file names, do not copy), and much more..." Can accept listfile for source specs. Target drive limited to "A" or "B." This program prefers to have the documentation present in the same directory.

Author: Kai Risku, Finland (1992).

1.99 beta

v1.99 beta

Software written by krisku

JCOPY — Efficiently pack files (from single directory) onto floppy.

* * 1/2

[updated 2004-06-27]

A full screen program that some may find easier to use because it allows tagging of files from a directory list. JCOPY lacks the flexibility of Fill and FFIT and only processes files residing in the same directory. Target drive limited to "A" or "B." Includes file splitting option.

Author: Jon Lanceley, UK (1994).

1994-09-14: v3.6.

Download (23K).


Also see: Unixish CSPLIT, one of the GNU Textutils: Split a file into context-determined pieces.

Split — File Splitter with CRC checking and disk spanning options.


[added 2000-01-19]

"SPLIT divides a file, at specified points, into smaller files and can re-unite them back into the original file, if needed. Files may be processed as either binary or text files."

Features from the docs:

Notes: Interactive and batch modes available.

Author: Michael Dingacci (1995). Suggested by Robert Bull.

1995-10-09: v6.0i, last for DOS.

Download (29K).

RZSPLIT — Easy-to-use file splitter with disk spanning capability.


[added 2000-02-13]

RZSPLIT is similar to SPLIT (above) in that it permits automatic splitting/transfer of large files to multiple floppy disks. The syntax and operation of RZSPLIT may be easier to comprehend than that of SPLIT, e.g., the program will indicate how many floppies are required for processing after you indicate the capacity of media being used. This utility works with any kind of DOS file and files up to 999 MB can be split. All in all, a very easy-to-use splitter that doesn't demand many pre-calculations.

On the downside: Split files must be re-joined with RZSPLIT -B (COPY /B won't work), so you'll have to carry the program with you if transferring files to another PC. The program also has an option to format floppies when changing disks, but this may not work as expected on Win9x systems (best to prep your floppies first).

Author: Rob Zino / KillerSoftware (1995). Suggested by Bjørn Simonsen.

1995-08-20: v2.8.

Download (32K).

Go to KillerSoftware for a free Win3.1 version, a shareware Win9x version, and other software.

CHOP — File splitter; options to split text files at natural boundaries.


[added 2000-01-19]

From a user: "CHOP is a very old program [1988] yet it's the nearest I've ever seen to a 'do what I _mean_' splitter for text files. [e.g., splitting files without cutting across natural chunks of text, e.g., bibliographic entries, abstracts, etc.]." Chop allows you to define demarcating characters for the chunks of text which should remain intact during the splitting process. CHOP can split text or binary files. Output files are named FOO.1, FOO.2 and FOO.3. Use the DOS COPY command to rejoin chopped files.

CHOP infile [-switches]

-Bx           Beginning byte to extract (default = 1).
-Ex           Ending byte to extract (default = end of file).
-Px           Chop file into x pieces (default = 2).
-Sxxx         Chop file into xxx-sized pieces.
-Ifilename    Read input from "filename".
-Odirectory   Send output to "directory".
-T            Trample over existing files.
-R            Try to chop at a "return" character (default is CR/LF).
-Nfoo         Define a sequence of "return" characters (e.g.,"foo").
-A            Chop after the "return" characters (default).
-H            Chop before the "return" characters.
-Lxxx         Limit search for "return" characters to xxx bytes.
-C            Make "return" characters case sensitive.
-W            Chop at each occurrence of the "return" string.
-X            Chop at the exact computed byte.
-Mxxx         Define the maximum number of chops (default = 256).
-Gxxx         Start output file numbering with xxx.
-Q            Quiet.  Do not show program status on screen.
-Z            Do not insert a Ctrl-Z EOF at end of each output file.
-J            Pause for a keystroke between chops.

Author: Walter J. Kennamer (1988). Suggested by Robert Bull.

1988-03-09: v3.1.

Download (22K).

FCUT (File Cutter) — Split files by size / parts; rejoin with COPY /B.

* * * *

FCUT is a straightfoward splitter which includes options to split files into parts or user-defined sizes. Files split by FCUT can be rejoined with the  copy /b  command in DOS and OS/2, or the  cat  command in Unix. Two versions in one distribution package: FCUT-DOS, runs on 8086+ and DOS 3.0+; FCUT-OS/2, requires 80386+ and OS/2 2.x.

USAGE: fcut [/p# or /s#] </o#,/b#,/e#,/h,/?> [input file] <output file>
/p# -- total number of pieces (1 to 999)
/s# -- size of a piece in byte, Kbyte or Mbyte (> 0) 1K = 1024, 1M = 1024K = 1048576
/o# -- the only piece to be made (1 to 999)
/b# -- beginning offset of input file (inclusive) (>= 0)
/e# -- ending offset of input file (exclusive) (> 0)
/h -- display this help message
/? -- display this help message
input file -- file to be cut
output file -- the product file name (default is 'filepart')

Author: Y.F. Gamzun / VG Soft, Hong Kong (1996). Suggested by Lars-Erik Sandberg.

1996-01-18: v1.0.

Download (29K).

Go to Top | Front Page ]

©1994-2004, Richard L. Green.
©2004-2006, Short.Stop.