DIR_DATE v2.1 ============= Copyright 1996 Simon A Carter. The first, the one and the only File/Directory Date Changer: * Can change the time and date of both files, directories and volume labels. * Supports wildcards. * Supports recursion into subdirectories. * Can selectively change only the hours, minutes, seconds, day, month or year of the file without affecting other values. * Can set time/date to current time and date, or any part of the time/date to the current value or a specified value. * Can use a reference file and set all file dates to the date of the reference file. * Has a preview mode where no changes are actually made. * Skips altering Windows 95 long filenames. PRIVATE use of Dir_Date is FREE. Please register your usage by sending email to Simon Carter at launch@ozemail.com.au, with your name and address. Paid registration (costing $AUS 10) is required for use in a business, commercial, government or institutional environment. Please see the end of this file for more information. WARNING - PLEASE READ! ====================== This program bypasses DOS and directly modifies the directory entries on your hard disk. It is possible that incorrect or even correct use of this program may damage your system, so use it with CAUTION! If you don't know what you are doing, don't use it! And above all, make a BACKUP FIRST! I will NOT be held responsible. Make use of the /N option as a trial first. What will Dir_Date do for ME ? ============================= DOS does not provide any capabilities to change the date of directories or volume labels, and this is the gap that Dir_Date fills. Dir_Date can change any part of the date and/or time on any disk file, directory or volume label, whether it is located in the root directory or a subdirectory. It can be used to indicate to search utilities that the contents of a directory have been updated. Dir_Date skips altering Windows 95 long filenames. Any part of the date and/or time can be set to the current date/time, or to a specified value. Dates may be set to the same date as that of a reference file, or to the date of a reference file modified by subsequent values. Installation ============ Just copy DIR_DATE.EXE to a directory in your path, for example, to C:\DOS. To find out the directories in your path, type c:\> path [Enter] How to use Dir_Date =================== Typing Dir_Date [Enter] on its own will display usage information. Usage: dir_date [/S] [/N] [\wildcards] [file=] [datepart [datepart...]] /S Recurse into subdirectories /N Don't make any changes (preview mode) Where [datepart] is one of: hour= 0..23 min= 0..59 sec= 0..59 (even values only) day= 1..31 month= 1..12 year= 1980..2099 file= Set to date of reference file No date = Now $=current e.g. hour=$ means set hour only to the current hour The /N option is a preview mode - Dir_Date runs as normal, but no changes are written back to disk. This is very useful if you are unsure about which files Dir_Date is going to modify. The /S option tells Dir_Date that if it finds any subdirectories in the starting directory, it should go into them also and modify the dates and times on any files and subdirectories e.g. If you started Dir_Date /S in the Windows directory, as well as modifying the time and date on all files and subdirectory entries in the Windows directory, it would also enter each subdirectory (System, MsApps etc) and change the files and directories found there. The initial path is NOT optional. If it is the current directory, use "." as the directory name. To change the date of a directory, specify the name of the directory e.g. Dir_Date c:\windows\system year=1995 This affects only the specified directory, and not any of the files in it. To change the date of a group of files, specify them as follows: Dir_Date c:\windows\system\*.dll year=1995 The affects only files and directories in the "c:\windows\system" directory that match the wildcard "*.dll". If you had a directory called "old.dll" it would also be changed. The recursion into subdirectories does not depend on the directory name matching a wildcard. Every date and time part can be individually manipulated without effecting any other part. The valid ranges for each date part are shown above. The special date part FILE (which must appear first), may be used to "grab" the date and time value from a reference file. This may then be modified by subsequent date parts. For example, if you were releasing a program, and you wanted the dates and times on all of the files to be the same as the main program, you could use Dir_Date /s c:\my_prog file=c:\my_prog\runme.exe You could also use subsequent date parts to set the time field to the version number of the program, as is commonly done: Dir_Date /s c:\my_prog FILE=c:\my_prog\runme.exe HOUR=4 MIN=3 SEC=0 DOS does not allow odd values of seconds, and any odd value you provide will be rounded down to the nearest second. When Dir_Date runs, it first validates its input and shows the changes that it is going to perform. It then prints out the name of each file changed as it traverses the file list. Files not changed are prefixed with "No change for". Files modified have "Changing" prefixed. If the month is February and the day is greater than 29, Dir_Date warns you that the date may wrap into March. Redirecting Output ------------------ Dir_Date's output can be redirected to any device. For example, to save Dir_Date's output to the file output.txt, you can type: c:\> Dir_Date > output.txt [Enter] To add Dir_Date output to an existing file exists.txt, type c:\> Dir_Date >> exists.txt [Enter] To send Dir_Date's output to the printer, type c:\> Dir_Date > prn [Enter] To view a convenient page-by-page display of Dir_Date's output, type c:\> Dir_Date | more [Enter] Dir_Date Example ---------------- The output below was generated from running Dir_Date in the Windows directory (in a DOS shell under Windows 95): c:\Windows> Dir_Date /s /n fonts\*.* month=7 Dir_Date v2.1 Copyright (c) 1996 Simon Carter Recursing into subdirectories Disabling writes (preview mode) Setting MONTH=7 No change for C:\WINDOWS\FONTS\MARLETT.TTF No change for C:\WINDOWS\FONTS\SYMBOL.TTF No change for C:\WINDOWS\FONTS\LUCON.TTF Changing C:\WINDOWS\FONTS\WID_____.TTF Skipping Win95 LFN C:\WINDOWS\FONTS\APlay.b No change for C:\WINDOWS\FONTS\PLAYBILL.TTF Skipping Win95 LFN C:\WINDOWS\FONTS\ALati.n No change for C:\WINDOWS\FONTS\LATINWD.TTF Skipping Win95 LFN C:\WINDOWS\FONTS\AArlr.d No change for C:\WINDOWS\FONTS\ARLRDBD.TTF Skipping Win95 LFN C:\WINDOWS\FONTS\ALine.d No change for C:\WINDOWS\FONTS\LINEDRAW.TTF Skipping Win95 LFN C:\WINDOWS\FONTS\AHatt.e No change for C:\WINDOWS\FONTS\HATTEN.TTF Changing C:\WINDOWS\FONTS\KEYCAPS.TTF No change for C:\WINDOWS\FONTS\PARAGONN.TTF Changing C:\WINDOWS\FONTS\BEDROCKN.TTF Changing C:\WINDOWS\FONTS\CAS_ANTI.TTF Changing C:\WINDOWS\FONTS\CAS_ANTN.TTF Changing C:\WINDOWS\FONTS\TECHNCLI.TTF (The output above has been abbreviated for brevity) Windows 95 ========== Dir_Date will not work on hard disks or floppy drives if they are protected by Windows 95 (usually only hard disks are protected, floppies can be modified). Windows 95 does this to prevent old utilities from destroying long filenames, which Dir_Date does not do. Dir_Date does not handle Windows 95 long filenames provided as a parameter. If you want to specify a long pathname to start in, you must use the short form e.g. "c:\progra~1" instead of "c:\Program Files". If Dir_Date finds a Windows 95 long filename entry it will automatically skip it. In almost all cases, Windows 95 long filename entries will fail any wildcard match, unless the wildcard match is *.*. Long filename entries are stored differently to normal directory entries, and altering the time or date of the abbreviated version of a Windows 95 long filename will not effect the long filename time or date at all. For example, if you changed the time/date of "c:\Program Files" and then did a DIR, you would find the original date and time unchanged. This is because DOS gets the date and time information from the Windows 95 long filename entry, not the abbreviated entry. You can still change the date/time on files that do not have long filename entries. Release Information =================== Date Version Changes Made 24-June-96 2.1 First released. 21-May-96 1.0 First created and used. Registration ============ PRIVATE use of Dir_Date is FREE. Please register your usage of Dir_Date by sending email to launch@ozemail.com.au, with your name and address, and any relevant comments. Paid registration (costing $10) is required for use in a business, commercial, government or institutional environment. Order form ---------- Personal details ---------------- Name: ____________________________________________ Company: ____________________________________________ Address: ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ Phone: ____________________________________________ Fax: ____________________________________________ For Visa, MasterCard or Bank Card (*) ------------------------------------- (Sorry, I currently do not accept American Express) Card Number: ____ ____ ____ ____ Expiry Date: ____/______ Signature: ________________________________ Date: ____________ (*) Please note that these orders are processed by Omnivision Technologies, a licensed distributor. Cheques ------- I accept bank cheques and personal cheques drawn on an Australian bank. Foreign cheques cost me an additional $AUS 12 to cover my bank's foreign cheque charge. Please make cheques payable to Simon Carter. Postal money orders ------------------- I accept prepaid postal money orders in Australian dollars. Contact Information =================== I am always happy to hear your comments! If you use and like Dir_Date, or have any suggestions for improvements, please drop me a line! Email: launch@ozemail.com.au WWW: Checkout the Crystal Software home page at http://www.ozemail.com.au/~launch Fax: +61-3 9800-3078 Any time. Voice: +61-3 9729-8836 After hours number. Please leave a contact name, number and time, and I will try to get back to you within 24 hours. Mail: Simon Carter Crystal Software 2 / 9 Woodbine Court Wantirna Victoria 3152 AUSTRALIA.