Various changes to TouchCmd to improve the command line parameter handling and reporting messages:
Fix a misleading command line error message that occurred when the command line contained more than 1 path parameter.
Only output the usage message when there are no parameters and no command line errors in order to improve visibility of any error message.
Added file/directory information to the "touching/would touch" messaging.
Eliminate a misleading "skipping" message condition. Previously, if no time or date parameters were used, you'd get the "would touch" message immediately followed by the "skipping" message.
Added a note in the documentation on performing a test run with TouchCmd to see which files and directories would be affected.
Enhanced the parsing of the /E parameter to ensure +/- are used correctly.
Added a message for skipping due to recursion.
UI programs are now per-monitor HighDPI aware.
For TouchProp (GUI and command line versions):
Improve error reporting for the case where a file doesn't exist. Previously, non-existent files were incorrectly reported as being read-only.
Fix issue introduced in 6.6.0.0 where directories were not being touched.
Fix issue that failed to restore the read-only attribute if the "Read-only items" option were set and the time and date or offset time options were not set. The read-only attribute will no longer be cleared in this situation.
Fix issue with zero time values (1 Jan 1601). If such a time ever arose, the operation would not have the desired effect since the zero value means "don't alter the value" to the Windows API. In such cases the value is now set to 1 (100nS after) to give the nearest result possible. Similarly, if the value became negative (when using the time offset feature), the value was invalid, so this is also set to 1. Exceeding the future date 31 December 30827 23:59:59 (UTC) is also limited to that value.
Improve error detection when the option to touch picture times is set, so as to better report any file errors when processing pictures.
Improved command line parameter handling for console projects.
Installation now only registers against file directories, not virtual folders - use with virtual folders would not work, and could give rise to errors.
Minor performance improvements.
Top level context menu item now has accelerator - 'T'.
Updated email contact information.
Internal code impovements.
This version improves error suppression when using the options to modify document & video file metadata properties, so that files that aren't a perfect match for those file types don't report errors unnecessarily.
This has proven necessary because Windows 10/11 behave differently for some file types (such as .mp3 files) and now correctly report an error, whereas older versions of Windows (7) reported success - but didn't actually do anything!
Also, where such errors are now reported, the message will contain the identifier for the option that gave rise to the error in order to aid diagnosing the situation.
Added options to alter video file time properties and to set the archive attribute after touching a file.
Added the /BV and /BA options to TouchCmd for the video and archive attribute options.
Removed email file handling.
Improved error reporting for shortcuts - show both the shortcut file name and the shortcut target name.
Fix to correct handling of shortcut targets. Prior versions would not treat read-only files consistently if the shortcut itself were not read-only; they would also have used the shortcut file's original timestamps to restore the target file's filesystem timestamps rather than the target's.
Double entering of the TouchCmd "path" is now identified as an invalid command line error.
Several internal changes to improve performance.
When touching folders, previous versions of TouchCmd would touch descendent child folders of the base folder regardless of whether they matched the file name. For example, if you had the following folder structure:
C:\BASE ├───F1 │ ├───F1a │ └───SubDir1a └───SubDir2 ├───F2a └───SubDir2a
If you used TouchCmd with the path parameter: "C:\Base\F*" and the /S and /O options, it would give rise to affecting:
C:\Base\F1\F1a C:\Base\F1\SubDir1a C:\Base\SubDir2\F2a C:\Base\SubDir2\SubDir2a C:\Base\F1
This new version will affect just those that match the "F*" file name:
c:\Base\F1\F1a c:\Base\SubDir2\F2a c:\Base\F1
This new behaviour matches the normal file name matching of the DIR command.
Implemented a work-around for a 3'rd party shell not supplying a position when invoking TouchPro. In this circumstance TouchPro will now show at the current mouse cursor position (which may not be close to where the command was invoked).
Fix for not loading the single-settings mode settings when invoked as a property page.
Fix for showing the wrong time (it showed the current time) in the "Touch with Saved Settings" menu item when in single-settings mode.
In single-settings mode, the "Touch with Saved Settings" menu operation no longer uses the current time if there are no saved settings.
Improved dialog positioning when invoked from the context menu.
Alter the main dialog layout to widen the date control to accommodate the default US long date format.
Now shows a message box of any failure to save settings.
This release fixes an issue in V6.3.3.0 that resulted in an error message when opening TouchPro when set to single settings mode without having saved any settings.
When invoked from the context menu, the dialog is now centered on the screen.
Added TouchProp GUI program.
TouchProp now allows normal locale format date time entry.
Reinstated showing TouchPro in property sheets by default.
Fixed a dialog sizing issue so that sizing should be consistent for different screen DPI settings.
When TouchPro is shown as a property page, reposition the About button so as not to leave a gap.
Setups now show icons for installed parts.
TouchCmd, TouchProp, and FileTms now perform their input/output using
UTF-8 Unicode.
The installed TouchPro Command Prompt link from the Start menu will set the
UTF-8 code page using chcp 65001.
The "TouchPro Settings" context menu item is now named "Open", and appears as the first sub-menu item.
Changes to the About dialog to fix layout inconsistencies on a high DPI monitor.
The error reporting dialog now uses the Windows TaskDialog function rather than a custom implementation.
Update checking is now performed on a time period rather than a 1-off per-instantiation basis.
The update notification dialog now shows on the same monitor as TouchPro rather than on the primary monitor (in multi-monitor systems).
Touching shortcut targets is now configurable in the main TouchPro settings UI and via a TouchCmd command line option. It also now works consistently for selected items and recursive folder operations.
Improved reporting of invalid command line entry in TouchCmd.
The Select Timestamp dialog now shows the file name - in order to clarify shortcut/target usage (hold shift key).
New registration key format.
If you select and touch Windows shortcut files (.lnk files) using the TouchPro UI, TouchPro will alter the shortcut's target file rather than the shortcut (.lnk) file. However, if you touch a shortcut file as part of a recursive folder operation, the shortcut file itself will be altered, not the target file.
Fix a UI issue: If you had changed settings on the main dialog, then opened the Extra Options dialog box and pressed OK, changes made in the main dialog would revert to their prior state.
Fix for a crash that occurred when touching picture metadata timestamps when there was no existing timestamp.
Improved error message when part or offset changes of picture metadata timestamps aren't possible.
For anyone who missed functionality with having TouchPro show as a property page, if you hold the Shift key when you invoke the TouchPro->TouchPro Settings context menu item, it will now show the property pages as well as the TouchPro dialog.
Improved several error/information messages.
TouchProp now outputs seconds.
The TouchCmd, TouchProp, and FileTms command line utilities now output Unicode text.
TouchCmd now lists any failures.
Removed MAPI timestamp retrieval from TouchPro.
Fix the Touch with Current Time and Date menu item operation. It was using UTC rather than local time.
This version sees the return of the 3 Explorer context menu operations that were dropped in the initial release of V6.0. There's also a new option to revert operation to a simpler, single settings mode, similar to versions prior to V6.0.
This update removes TouchPro as a property page. It's now only accessible via the Explorer right click context menu items. The reason for this is that the restriction on the ideal size of a property page is limiting the user interface layout. By not having the size design constraint of a property page, future versions will have more scope for a less dense main dialog. If you find that you need the property sheet integration, please get in touch and let us know.
TouchCmd
TouchPro
TouchPro & TouchCmd can now alter 3 picture timestamps rather than just the single one it did previously.
Use the picture timestamp tag PropertyTagExifDTDigitized rather than PropertyTagThumbnailDateTime.
Added the TouchProp command line utility.
TouchPro/TouchCmd can now read and modify some of the timestamp metadata properties of newer Office document file formats (.docx, .xlsx, etc.) as well as older .doc, .xls, etc. files.
TouchPro has a new menu item: "Capture a timestamp from the focused item" to amend the current saved settings.
The "Touch with Last Saved Settings", & "Touch with the Focused item's timestamp" menu items now show the timestamp that will be used, so there's no ambiguity about what will be applied by their operation.
FileTms has an option (/P2) to output the timestamp as UTC.
TouchPro uses the native updater program.
Setup no longer requires the .NET framework, and no longer has a prerequisite on comctl32.dll.
Fixes a mix-up with UTC/local time use on the "Touch with the Focused item's timestamp" menu command.
Extended the XP local/UTC conversion behaviour to Vista as it's only since Windows 7 that Explorer uses the new (correct) method of local/UTC conversion.
The operating system detection for the above now works for a non-registered installation.
The command line programs TouchCmd & FileTms now also adjust their behaviour for pre-Windows 7 operating systems and also have an additional parameter to override the automatic detection.
The 64-bit version now installs the 32-bit component as well as the 64-bit one so that 32-bit processes such as Avanquest Software's PowerDesk can use TouchPro.
Fix to allow operation on network shared folders.
When running on Windows XP, TouchPro now reverts to the same methods of converting local timestamps as Windows XP uses. This means that XP users see the timestamp the same as XP displays it (albeit wrong in some situations). See the section headed "File Timestamps and DST (Daylight Saving Time) Quirks" in the TouchPro documentation for more information.
The menu item:
"Touch with First Selected Item's Timestamp" is now:
"Touch with the Focused item's timestamp"
... since it's not strictly true that the first selected item is the one that applies. When you use this command TouchPro will now prompt you to confirm the item's timestamp.
This update fixes a long standing issue that had gone unnoticed. If you used the "current date" or "first selected item's timestamp" context menu items having previously saved settings to do offset time modification, the resultant time would be incorrect. Also, if you had saved settings to do offset time modification, when you re-displayed the TouchPro dialog, it displayed the non-offset time interface.
This version now ships with our FileTms command line utility.
This update fixes a problem with TouchCmd if relative paths were used.
This release prevents infinite recursion that could occur with symbolic link directories that either recursively link to a path beneath the current directory, or are involved in cross-referenced links.
For example:
C:\path1\path2\path3\LinkToPath2
In the above example, if "LinkToPath2" is a directory symbolic link to c:\path1\path2, you would have had the following recursive situation:
C:\path1\path2\path3\path2\path3\path2\path3\... etc.
Similarly, in a cross-linked situation, you could have:
c:\path1\path2\LinkToPath3
c:\path3\path4\LinkToPath2
Which would have given rise to:
c:\path1\path2\path3\path4\path2\path3\path4\path2\... etc.
Fix - Touching read-only directories on Windows XP on FAT32 formatted drives would fail.
New - Update notification facility. TouchPro will notify you when an updated version is available from our web site. You can manually invoke this facility from the About dialog.
Fix - Extreme performance issue in conjunction with some Antivirus products when touching large directory structures. Operations that should only take seconds took minutes. Note that this fix only resolves situations where it was avoidable - operations touching lots of files may still invoke extreme AV performance issues.
Fix - The "Could not modify the time stamp of ...Do you want to continue processing any other files?" error message was not getting displayed correctly.
Fix - For translated strings, some messages were not displaying their translated text.
Fix - The "Touch Completed" message might have displayed behind other windows in some circumstances.
Fix - When testing translated resources it was possible to get into a situation where TouchPro would crash Explorer.
Minor - Optimised operation to eliminate occurrences of "Skipped - read-only" messages when only directories are being touched.
Minor - Some error messages had additional blank lines.
Minor - Limit the number of display failures that are listed in the error message because there are too many to see on a screen, and in extreme cases the message was not displayed.
Minor update to fix slow starting of Windows Explorer when Explorer is invoked in some situations (such as when using WinKey+E).
Updated TouchCmd to fix sub-directory processing.
Removed support for Win9x operating systems.
Use the newer time zone aware OS functions to handle converting timestamps between UTC and local time. This results in correctly converted times in different daylight saving time periods.
Fix - getting the structured storage timestamps was incorrect outside UTC time zones.
Fix - when setting the timestamps of structured storage documents all 3 timestamps were set regardless of the selected options.
Fix - setting picture timestamp was altering the modified file system timestamp.
Additional check for the time offset command line parameter, to ensure all digits are entered.
Fix for a bug introduced into V5.1. Touching folders would not be effective unless you also had the option to touch files.
First release of x64 version.
New context menu - "Touch with First Selected Item's Timestamp". Despite its long name, it provides a quick way to set multiple files to the same time as the first selected item. The first selected item's modified timestamp is used as the source timestamp along with the previously last saved settings in the same way as the other context menu items.
Minor fix to prevent reporting an error when touching with the "Touch structured document time properties" option and the file doesn't contain existing structured storage time values.
The summary error message now caters for multiple error messages for each file.
Restructured code to improve consistency in operations and issue reporting.
Display the hourglass when getting a file's current timestamps - this could take a long time with extremely large files. Also skip getting the values for .eml files > 10MB - it takes longer that you'd want to wait!
Cater for "&" in the About box registered name.
Fix to allow correct operation of the structured storage document touch operation under Windows Vista.
Changes to the command line syntax handing of file & directory names in
TouchCmd.
Improve TouchCmd progress messages.
Fixes for TouchCmd on Win9x operating systems.
TouchCmd now supports setting the time and date to the current time.
Fix to resolve crash that could occur in some computers when loading.
Fix to prevent keyboard access lockout after using the Touch Now button.
New options to touch the "Date Created" (Created), "Date Last Saved"
(Modified), "Date Last Printed (Accessed) properties in structured storage files
(MS Office documents) and the "Date Picture Taken" property in picture
files.
Extended facility to set the time and date controls from:
* Email files (MAPI (Outlook) and SMTP Internet (Outlook Express) formats.
* Structured Storage files (Office documents).
* Pictures.
* All file system times.
Improved load time to remove unnecessary delays when a large number of items is
selected.
Fix for true MBCS OS's (Win9x) when touching folders.
Now touches the "." (current folder) items.
Fixed a memory leak.
About dialog now loaded from the translated resource.
Time offset adjustment. Rather than touch a file with an absolute time, you can now adjust the current timestamps by a +/- offset. The offset facility is also available in the command line version via the /E parameter.
New popup menu options - the "Now" button facility moves to a menu item, along with the new "set time to current file time" facility. This latter facility lets you set the time controls to the last modified timestamp of the primary selected item (when you invoked TouchPro).
Resolves an issue that some applications that simulate invoking the shell property sheet may experience. When loading, TouchPro modifies the size of its dialog resource. This causes an exception that Explorer defers to the operating system to resolve. Some other applications may handle the exception as an error. The change modifies TouchPro's resources to be read-write so that the exception never occurs.
Fixed a problem in the command line utility for dates < 1900.
Fixes a daylight savings issue with the offset facility in the prior test
release.
Resolved the File menu duplication issue with Explorer for Windows 95.
Limited test release of the offset time facility.
Adds the "now" icon button to set the time controls to the current time.
Added bitmap to the main popup context menu item.
Added a "Don't ask me again" option to the message box prompt that occurs if the
Touch operation fails for some reason (such as a file being in-use).
Revised the operation of the 24-hr format option. Previously it toggled between
the user's default time format and 24-hr. It now toggles between 12 & 24 hr
formats.
Show the hourglass cursor during the Touch operation.
Further resolved the menu quirk noted in the last release (see below)
for NT4. Unfortunately the problem still persists under Window 95.
Fixed a minor cosmetic problem with the context menu popup appearing multiple times when the Explorer File menu is invoked. This problem is noted in MS KB article Q214477. This problem persists under Windows 95 and NT4 since the remedy doesn't appear to work under these platforms.
Revisions to simplify multiple language translations - removed dialog duplication for the property page and context menu dialog.
Unicode version. Under Windows NT/2000/XP, TouchPro will now work correctly
with file and folder names that contain characters not supported by your current
code page.
Now uses the MSI installer.
Fixed a minor cosmetic problem with the short/long date format option.
Added checks around directory navigation to prevent a problem if a folder is
inaccessible to the current user.
Fix for TouchCmd to properly process nested sub-directories. TouchCmd now
clearly indicates that it does not touch any files when it is unregistered.
Bug fix for the TouchPro context menus under Win9x.
TouchPro now supports Windows XP themed displays.
TouchCmd fix for Win9x when no date specified when touching folders.
TouchCmd now echoes the time and date that it will apply and touches the root
folder if that's all that is specified on the command line.
Added context menu operations to provide a fast method of applying the
current settings.
Added TouchCmd - a command line version of TouchPro.
Added the ability to touch read-only files and folders.
The main dialog now identifies which controls are unavailable in an unregistered
copy.
Changed the date control to the drop-down calendar format.
Now recurses sub-directories before touching a folder timestamp - to prevent
altering the last accessed timestamp of the folder.
This release contains a minor code speed improvement and information on obtaining Microsoft hot fixes for Windows 98, 98 SE, and ME to fix random failures to touch folder timestamps.
This version fixes a bug when touching folders under Windows 9x. Previous versions would fail if the folder name contained non-ASCII characters.
This version fixes a bug when touching folders with long path names under Windows 9x. This did not occur under Windows NT or Windows 2000 as TouchPro uses a different method under these operating systems.
Update installation to add shortcuts menu items and modify this document.
Modified the About dialog. Changed the registration number field to make it a little easier to enter the number. Updated the home page URL and added a mail link.
A registered version now has the option to touch files, folders, or both.
Moved the save facility to a separate button.
Extended the Windows 9x folder touching to handle all 3 timestamp values and the selective time and date facility.
Added the facility to touch folders under Windows 9x.
Minor change to allow international registration names.
Rebuilt and updated documentation to reflect the self extracting installer.
Added the alternate time and date formats, and the Save facility. These facilities are only available to registered users. TouchPro is now distributed as a self-installing EXE.
Bug fix. Prior to this version, if you touched the contents of a removable disk, and removed the disk, it could give rise to Explorer not being able to launch any programs from its Start menu. This version fixes this problem, which is easily avoided in earlier versions by leaving the removable disk in the drive.
Cosmetic changes - added help & tool tips, made the date field longer as some language default settings can give long date fields.
Changed unregistered defaults - can't now recurse folders.
New registration system.
Under NT, allow modification of directory time stamps.
Now uses the new common controls date time picker control.