|
Disk UtilitiesI offer a number of disk utilities that I have developed over the years, and use on a daily basis. They are mainly concerned with routine file and hard disk maintenance.
and because they don't fit elsewhere, some miscellaneous stuff:
Software Support and RegistrationThe Disk Utilities described on this page are currently freeware, but if you require support on the software you must register with me. Registration is also an easy way you can say "Thank You" if you like the software. Click here to register the Disk Utilities now! A reminder that you can be on a mailing list free of charge to be automatically notified of any updates. EqualiseProgram written to synchronise folder structures on two different computers over a network, or between a computer and a floppy disk. It can be used to keep up-to-date safety copies of files on floppy disks, or to allow program development on two different computers - perhaps one at work and one at home.
FindDuplicatesFind Duplicates was written to allow you to control your disk space usage by discovering files that are duplicated and, should you so wish, deleting one or more of these duplicates. There are many ways in which duplicate files can be deposited on your hard disk, for example programs which don't check to see if you have a particular DLL installed and install their own private copy in any case, or other programs that install a DLL in your \Windows directory when it is already in \Windows\System32.
SetAffinityProgram to make SmartDefrag 3.0 run on just the first processor in a system. This was required as on a dual processor PC, at startup, SmartDefrag 3.0 would take all the CPU and really slow the system down. By setting the program to use just the first processor, at least the remaining processor can proceed with the startup tasks. Note that this program can make no difference on a single-processor PC! Place a shortcut to the program in your startup folder. Includes source code.
Sample output:
|
V6.0.0 | Make right-click properties honour the desktop font, add Explore, Delete and Open options for piechart and list right-click, rebuild tree after Delete. |
V6.0.2 | Report compressed and sparse files greater than 4 GB correctly. |
V6.0.4 | Larger group box for options (suits Vista better), compile with Delphi 2009 (may provide improved Unicode support). |
V6.0.6 | Improve legibility of item list. |
V6.0.8 | Correct display of compressed files if access restricted. |
V6.1.0 | Add TB (terabytes) display. When using TB the list order may not be what you expect as there are a limited number of decimal digits used in the list. |
V6.2.2 | Allow for exclusion list in Exclude.ini, entries like: .. [Directories] .. 1=$RECYCLE.BIN .. 2=system volume information It's for directories only, the numbers (1= etc.) don't matter but ARE required, upper or lower case is ignored in the folder names, exclusions.ini must be in same directory as ShowMan.exe, a sample file supplied - rename before use. Add button to stop timer refresh after first scan, leave it Enabled in the options dialog, though, add TB to Options dialog, Units, show disk free space in status panel. Add icon to File Explorer right-click. You'll need to set that option again to get the icon. |
If you are using Vista, Windows-7 or later, and want the right-click usage piechart option, you may need to run the program as administrator when setting that option.
Unsupported utility to remove files from a complete directory tree if those files are older than a specified age. Intended for command-line use in overnight or login-time batch jobs. To create a batch job, choose a suitable directory in Windows Explorer, right-click, New, Text document..., and name your file PurgeFiles.cmd. Now right-click your new file, and select Edit. You will be able to use Notepad to enter the lines shown below.
Note that the dates are measured in days (unless the minutes
for is used - e.g. 1440m). For example: if today is July 29, and you
specify "1", only files dated earlier than 00:00 (UTC) July 28 will be
deleted. However, if it was 15:00 (clock) on July 29 and you had specified
"1440m", files earlier than 15:00 (clock) July 28 would be
deleted. Files which are in use will not be deleted.
Here is a different example - to manage the log files from Ship Plotter, Plane Plotter and SBS-1 BaseStation software. ShipPlotter log files are kept for two weeks, and the aircraft-related files for seven days. Remember that some programs, such as Plane- and Ship Plotter roll over files at midnight UTC, so you may need to schedule your job for some time after 01:00 clock in the UK or after 02:00 in Western Europe to be sure of catching the most recent file.
@ECHO Remove the older PlanePlotter and ShipPlotter log files TrimTree 7 "C:\Tools\COAA\PlanePlotter\log files\" plane*.log TrimTree 7 "C:\Tools\COAA\PlanePlotter\log files\" multilat*.log TrimTree 14 "C:\Tools\COAA\ShipPlotter\log files\" ship*.log @ECHO Remove the older SBS-1 BaseStation log files TrimTree 7 "C:\Tools\Kinetic\BaseStation\" 20*.bst
Note that you could combine the first two commands onto one line, if they have the same 7-day retention period and are in the same directory:
TrimTree 7 "C:\Tools\COAA\PlanePlotter\log files\" pp*.log multilat*.log
and that the quotation marks are only needed if there is a space in the file path. I have chosen to put both my Ship Plotter and my Plane Plotter log files in the same directory - one with no space in the path. Doesn't this look neater?
TrimTree 7 C:\Tools\COAA\LogFiles\ plane*.log multilat*.log ship*.log
In this example, files which are older than 2 days, living in the folder C:\MSG\images\ and below, which match either the file names for MSG HRIT channel 6 or MSG HRIT channel 7 would be deleted, and the files older than 7 days for MSG channels 2 and 9. This allows you to optimise disk storage by keeping the more interesting data for a longer period.@ECHO Remove less interesting channels after 2 days TrimTree 2 C:\MSG\images\ *-msg-ch06.* *-msg-ch07.* @ECHO Remove more interesting channels after 7 days TrimTree 7 C:\MSG\images\ *-msg-ch02.* *-msg-ch09.*
You might also want to delete any empty directories which TrimTree discovers during its scan. You can do this by adding "-empty" as the final parameter. Only completely empty directories will be deleted.
TrimTree 7 C:\MSG\images\ *-msg-ch02.* *-msg-ch09.* -empty
Another use might be to remove EUMETCast data which you don't process, although this is actually better done by editing entries in the recv-channels.ini file. Suppose that you decide that any unprocessed EUMETCast data more than 2 days old is of no interest, and that you have a default EUMETCast installation where data is saved to the directory: C:\Program Files\T-Systems\Business TV-IP\received. Note that there is a space in "Program Files" and before "TV-IP", so quotation marks are needed around the directory parameter. Into your Nightly.cmd file, you could add the lines:
@ECHO Remove the unprocessed data which is 2 days or more old TrimTree 2 "C:\EUMETCast\received\" *.*
This would remove any files older than 2 days which are in the \received\ directory, and in any directory below \received\. If you have other receiving directories in the TelliCast tree, you can process them individually instead:
@ECHO Remove the unprocessed data which is 3 days or more old TrimTree 3 "C:\EUMETCast\received_EPS10\" *.*
If the directory names contains spaces, be sure to
enclose them in quotation marks (shift-2 on an English keyboard).
Important! If
you use TrimTree like this, be sure to copy any files in the
\received\updates\ directory elsewhere for safe keeping, or mark them read-only.
Note: The MSG Data Manager now includes a
function which you can use to keep the \received\ directory clear of older
files. Go to: Setup, Options, File Controls, RX disk space control. Leave the RX space monitor /not/ checked,
and select a non-zero value for auto-clean minutes, e.g. 360 for clearing out the data every six hours.
Only data which is timestamped 6 hours (in this example) earlier will be
deleted.
Here we want to clean out the tmp_directory files which may get left over with the newest EUMETCast 2.5.17 client software if it is stopped and restarted.
You can run the command file Cleanout.cmd either on a nightly basis if you run 24 hours a day, or if you restart on a daily basis you could right-click drag it to your Start button, All programs, Startup folder, and create a new shortcut there so that the command is executed every time you log in. See the notes below about using the Windows Scheduler.
Should you wish, you can have multiple command in Cleanout.cmd, such as:
TrimTree 720m C:\EUMETCast\tmp\ * TrimTree 720m C:\EUMETSAT\EUMETCast\receiving\tmp\ * TrimTree 2 C:\EUMETCast\received\ *
where the second command cleans out temporary files from the directory where the downloaded EUMETSAT Product Navigator is stored (720 minutes), and the third cleans out any unprocessed files left over and more than two days old in the \received\ folder tree.
Here's a more comprehensive example for removing unwanted HVS-1 TPG-1 and TPG-3 (GOES-16 and GOES-17) data - your directory will be different, of course:
TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-1 ABI-L2-?SRF-M?_v?r?_g16* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-1 OR_ABI-L2-*G16* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-1 OR_GLM-L2-LCFA_G16* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-1 OR_SEIS-L1b-????_G16* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-3 ABI-L2-?SRF-M6_v?r?_g17* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-3 OR_ABI-L2-*G17* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-3 OR_GLM-L2-LCFA_G17* TrimTree 30m L:\Tools\EUMETCast\received\E1H-TPG-3 OR_SEIS-L1b-????_G17*
Note: if you use TrimTree in a command-file, be sure not to call that file TrimTree.bat or TrimTree.cmd! If you do, the TrimTree command will loop. Call it PurgeFiles.cmd instead. If you must call it TrimTree.bat, you will need to specify TrimTree.exe in the actual command file:
TrimTree.exe 2 C:\MSG\images\ *-msg-ch06.* *-msg-ch07.*
V2019.10.27 | Reduce the end-of-program delay from 3 to 2 seconds. Handle clock change by using UTC everywhere. Change to using the date as the main version number. |
V2020.01.21 | Add notice if no parameters found. |
Program to help recover disk space. Finds backup, object & temporary files that might be candidates for deletion and allows the user to delete one or more of these files. Can be automated.
V5.0.2 - remove requirement for runtime library.
As you know, some of my software is free, but should you wish to say thanks, you can make a small donation by sending me an Amazon Gift Certificate here:
https://www.amazon.co.uk/gp/gc/order-email/ref=g_gc-dp_bnow_email
My e-mail for Amazon is: david-taylor@blueyonder.co.uk
Helper program for MRTG, runs from the command-line and returns four lines with integers ..
You can read more about how to use DiskTemp in MRTG monitoring here. There is also a program which runs continuously which reports the temperature every minute, and can be run in admin mode independently of MRTG (required for Vista and Windows-7/8).
Free programs, needs Admin privilege on Vista and Windows-7/8/10. Support is through the SatSignal self-help group.
This is a rather specialised program to help you in batch files when different actions need to be taken at different times, or when the date and time are needed to identify a particular file name. Copy the file GetUtcDateTimeString.exe to somewhere on your path - \Windows\System32\ if you must. The program takes one parameter, a floating point number giving the offset from real UTC which is to be reported, you you could get yesterday's details by using "-1" as the parameter. Omit the quotation marks. First, it works by returning a set of strings on standard output, which you can set to the year, month or day etc. like this:
@ECHO OFF REM Sets the environment variables YY etc. to the UTC date/time for /f "tokens=1-6 delims=/:. " %%i in ('GetUtcDateTimeString') do ( set YY=%%i set MM=%%j set DD=%%k set HH=%%l set NN=%%m set SS=%%n )
Now you can use the environment variables as you would use any other. For example, in a batch job which is run every 30 minutes, at 25 minutes and 55 minutes past the hour, you might want to take different action in the 55-minute run to the 25-minute run. You could use code like this:
IF %NN% LEQ 30 ( <actions for the 25-minute time> ) ELSE ( <actions for the 55-minute time> )
Download GetUtcDateTimeString (2005-Jul-06 the small version requires my runtimes, 2016-Mar-11 the "Full" version does not)
Free program. Support is through the SatSignal self-help group.
Really simple analog clock: -no alarms -no Internet time -no Atomic time -no calendar |
V1.2.0 | Add ability to offset UTC time by +/- 12 hours (will not be remembered over program invocations, offset will be reset to zero when the program starts). |
V1.2.2 | Remove "u" when UTC offset is in use. |
Download Tiny
Ben 1.2.2 (289,895 bytes; 2015-Nov-26)
MD5 signature: 69222FE41B795BD08892590C9431729E
Free program. Support is through the SatSignal self-help group.
|