WinUtils User Manual

How to use CodeLake WinUtils: find files and folders, detect and remove duplicate files, and bulk-update file timestamps with Windows Touch.


On this page
  1. What It Does
  2. Getting Started
  3. Features
    1. Find Files/Folders
    2. Find Duplicate Files
    3. Windows Touch
  4. Options
    1. Global Search
    2. File/Folder Search
    3. Duplicate File Search
    4. Touch
  5. Toolbar Buttons
  6. Result Window Toolbar
  7. Context Menus
    1. Find Files/Folders Result Grid
    2. Find Duplicate Files Result Grid
    3. Windows Touch Result Grid
  8. Async Delete and Selection
  9. Tips

What It Does#

CodeLake WinUtils is a Windows utility application that provides three essential file management features in a single tool:

  • Find Files/Folders - Search for files or folders across selected folders with flexible wildcard or regex filters, file size constraints, and extension/folder pattern filtering
  • Find Duplicate Files - Hash-based duplicate detection with intelligent grouping, allowing you to select and delete duplicates while preserving originals
  • Windows Touch - Update file and folder timestamps (Created, Modified, Accessed, LastWritten) individually or in bulk

Getting Started#

  1. Launch the application.
  2. Choose a folder source in the left panel using the radio button in each section header - the other section is disabled:
    • Select folder(s) - pick folders from the drive tree by pressing the space bar or clicking the selection checkboxes.
    • Enter folder(s) - type one folder path per line. The list is saved between sessions, and entries that do not exist are reported before the operation starts.
  3. Configure search options in the settings panel on the right.
  4. Click the relevant toolbar button (Find Files - which reads Find Folders while Only Find Folder(s) is checked - Find Duplicate Files, or Windows Touch) to execute the operation.
  5. Results open in a new window where you can view, sort, and act on the data.

If an option would stop the operation from working, a message lists what to correct and nothing runs. This happens when no folder is selected or entered, when a folder in the list does not exist, when Regular Expression Search has an invalid expression, or when a folder pattern is not written as MatchType:Pattern.

Features#

Find Files/Folders#

Search for files or folders across selected folders with powerful filtering options:

  • Search Modes - Normal wildcard search (*.txt) or Regular Expression search for complex patterns
  • File Size Constraints - Ignore files smaller than or larger than specified sizes (supports Byte, KB, MB, GB units)
  • Extension Filtering - Include only specific extensions or exclude unwanted types, one per line with a leading dot (.cs, .dll)
  • Folder Pattern Filtering - Include or exclude folders by name using MatchType:Pattern rules, one per line (Equals:src, StartsWith:Db, Contains:Debug). Applies to both folder sources - a folder from the tree or the typed list is skipped when its own name matches an exclude rule
  • Empty File Handling - Option to ignore zero-byte files
  • Recursive Search - Option to search subfolders or limit to top-level folders
  • Only Find Folders - Option to return matching folders instead of files (column header changes to "Folder Name")

Results display file/folder name, path, file size, created date, and modified date in a sortable DataGrid.

Folder patterns match a folder's own name, not its full path. A folder that matches an include rule contributes its entire subtree to a file search, and a folder that matches an exclude rule is skipped along with everything beneath it - including a folder you selected in the tree. With Only Find Folder(s) on, only the folders that match the include rule are listed, not their subfolders.

Find Duplicate Files#

Detect duplicate files using cryptographic hash comparison:

  • Intelligent Hash Strategy - Fast matching mode hashes files under 5MB in full, and samples larger files in 1MB chunks (start, end, middle, quarters, then evenly spaced) instead of reading the whole file
  • Full Hash Mode - Turn Intelligent Hash Matching off to force full-file SHA-256 hashing for absolute accuracy
  • Size Guard - Every checksum is prefixed with the file size, so files of different sizes can never be grouped as duplicates
  • Grouped Results - Duplicates are grouped by hash value with group headers showing the file count and the size each file in the group shares; click a group header to select all items in the group
  • Selection Tools - Select all duplicate files across all groups (keeping one original per group), select by folder path, or select by drive path
  • Bulk Delete - Delete selected duplicates to the Recycle Bin with confirmation, preserving at least one copy per group
  • Async Operations - Large selection and delete operations run asynchronously with a progress bar and cancel button in the status bar

Results show file name, path, file size, created date, and modified date, grouped by checksum.

Windows Touch#

Update file and folder timestamps in bulk:

  • Timestamp Types - Update Date Accessed, Date Modified, Date Created, or Date Last Written individually or in combination
  • Date & Time - Pick the date and the time (hour, minute, second) to apply
  • Folder Processing - Touch files only, or both files and folders
  • Folders Only Attribute - Date Last Written applies to folders only, so it is available only when touching files and folders

Results display the item type ("File" or "Folder") and full path.

Options#

The settings panel on the right is organized into four tabs:

Option Default Description
Ignore Empty File(s) On Skip files with zero bytes
Include Folder(s) & Subfolder(s) On Search subfolders recursively; off limits each folder to its top level
Ignore File(s) Smaller Than Off Skip files below the specified size (size + Byte/KB/MB/GB/TB unit)
Ignore File(s) Larger Than Off Skip files above the specified size (size + Byte/KB/MB/GB/TB unit)
Search Mode Normal Search Normal Search (wildcard) or Regular Expression Search
Search Filter * File name pattern to match. Left blank it reverts to * (every file) in Normal Search. In Normal Search it must be a file name pattern only - a filter carrying a folder path, such as D:\Docs\*.txt or sub\*.txt, is refused
Include File(s) With Extension(s) Off Extensions to include, one per line (e.g., .cs)
Exclude File(s) With Extension(s) Off Extensions to exclude, one per line (e.g., .dll)
Include Folder(s) With Pattern(s) Off MatchType:Pattern rules for folders to include, one per line (e.g., Equals:src)
Exclude Folder(s) With Pattern(s) Off MatchType:Pattern rules for folders to exclude, one per line (e.g., Equals:bin)

Match types: Equals, NotEquals, StartsWith, NotStartsWith, EndsWith, NotEndsWith, Contains, NotContains. Matching ignores case. A rule with no colon, an unknown match type, or an empty pattern is reported and blocks the operation rather than being ignored.

Option Default Description
Only Find Folder(s) Off Return matching folders instead of files
Option Default Description
Intelligent Hash Matching On Fast mode: sample large files instead of hashing them in full. The label shows the current trade-off (Fast, Good Accuracy / Slow, High Accuracy)

Touch#

Option Default Description
Only Touch File(s) On Apply timestamps to files only
Touch Both The File(s) & Folder(s) Off Apply timestamps to files and folders
Date Accessed On Update the Accessed timestamp
Date Modified On Update the Modified timestamp
Date Created On Update the Created timestamp
Date Last Written (Applies Only To Folders) On Update the LastWritten timestamp on folders. Unavailable while Only Touch File(s) is selected
Touch Date & Time (last used) The date and time (hour, minute, second) to apply

A touch that could not write anything is refused rather than reported as a success:

  • Clearing the date and starting a touch is refused - the date is asked for instead of falling back to the last one saved.
  • Only Touch File(s) needs at least one of Date Accessed, Date Modified or Date Created. Date Last Written on its own writes nothing to a file, because Windows exposes it only on folders.
  • Touching both files and folders with all four timestamps off is refused.

Only items that were actually written appear in the results. Touching both files and folders with only Date Last Written selected therefore lists the folders and not the files.

Toolbar Buttons#

Button Action
Find Files / Find Folders Opens the result window with search results from selected folders. The label follows the Only Find Folder(s) option, as does the result window's title and its search-again button
Find Duplicate Files Opens Find Duplicate Files result window with grouped duplicates
Windows Touch Opens Windows Touch result window showing timestamp update results
Reset Folder(s) Reloads the drive tree, clearing selections, or clears the typed folder list - whichever folder source is selected. The confirmation names the one it will reset
Reset Options Restores all options to factory defaults
Exit Closes the application (with confirmation)

Result Window Toolbar#

Every result window shares these buttons:

Button Action
Options Shows the options the operation actually used, in a fixed-width dialog. Values belonging to a switch that was off read -- Not Applicable --
Close Closes the result window

Context Menus#

Copy commands act on the whole selection, not just the row you right-clicked: Copy Full Path copies one path per line for every selected item, and Copy Folder Path copies their folder paths with duplicates removed. Open in File Explorer works on a single item only and is disabled while more than one row is selected.

In the Find Duplicate Files results, copied text keeps the grouping you see on screen. Each group starts with the same header line as the grid (for example 2 duplicate(s) among 3 file(s)), followed by the selected paths in that group and a blank line:

2 duplicate(s) among 3 file(s)
C:\Backup\report.pdf
C:\Archive\report.pdf

1 duplicate(s) among 2 file(s)
D:\Photos\holiday.jpg

The header always reports the whole group, even when only some of its rows are selected, so the counts match the grid.

Copy Full Details copies what the grid shows - name, path, size, created, modified - as a Markdown table, so it can be pasted straight into a ticket, pull request, or notes file. Paths and names are wrapped in backticks, which keeps the backslashes intact when the Markdown is rendered. In the Find Duplicate Files results each group gets its own heading and hash line before its table:

### 2 duplicate(s) among 3 file(s)

- **File Size:** 1.20 MB
- **Hash:** `9F2A4C7B18DE3006E71B`

| File Name | Path | Created | Modified |
| --- | --- | --- | --- |
| `report.pdf` | `C:\Backup` | 9/20/2026 3:04:21 PM | 9/20/2026 3:10:02 PM |
| `report.pdf` | `C:\Archive` | 9/18/2026 8:31:10 AM | 9/20/2026 3:10:02 PM |

Every file in a group is the same size by definition, so the size is reported once in the group header rather than repeated down a column - which is also why the Find Duplicate Files grid has no File Size column and shows the size in its group header instead. The hash is a SHA-256 hash of the whole file, or one hash per sampled chunk when Intelligent Hash Matching is on, which makes that line considerably longer. Because it is a Markdown table, pasting into Excel needs Text to Columns on the | character; use Copy Full Path instead if a spreadsheet is the destination.

Find Files/Folders Result Grid#

Right-click on any file or folder in the results grid to access:

Menu Item Action
Copy Folder Path Copies the folder path of every selected item, one per line, duplicates removed
Copy Full Path Copies the full path of every selected item, one per line
Copy Full Details Copies every selected row as a Markdown table: name, path, size, created, modified
Open in File Explorer Opens Windows Explorer and selects the file or folder (single selection only)
Delete Sends the selected file(s) or folder(s) to the Recycle Bin (with confirmation). Press Del key as a shortcut

Find Duplicate Files Result Grid#

Right-click on any file in the results grid to access:

Menu Item Action
Copy Folder Path Copies the folder path of every selected file, grouped under each group's header line, duplicates removed within a group
Copy Full Path Copies the full path of every selected file, grouped under each group's header line
Copy Full Details Copies every selected row as a Markdown table per group, headed by the group's counts, file size, and hash
Open in File Explorer Opens Windows Explorer and selects the file (single selection only)
Select All Duplicate Files Within Each Group Selects all duplicates across all groups, keeping one original per group
Select Files With This Folder Path Selects all files sharing the same folder path as the right-clicked file (keeping one original per group if all match)
Select Files With This Drive Path Selects all files on the same drive as the right-clicked file (keeping one original per group if all match)
Delete Selected File(s) Deletes all selected files to the Recycle Bin (with confirmation). Press Del key as a shortcut

Windows Touch Result Grid#

Right-click on any item in the results grid to access:

Menu Item Action
Copy Folder Path Copies the folder path of every selected item, one per line, duplicates removed
Copy Full Path Copies the full path of every selected item, one per line
Open in File Explorer Opens Windows Explorer and selects the file or folder (single selection only)

Async Delete and Selection#

When deleting or selecting a large number of files, the operation runs asynchronously to keep the UI responsive:

  • A progress bar appears in the status bar showing completion percentage
  • A Cancel button appears next to the progress bar to stop the operation
  • The status text shows a running count (e.g., "Deleting file(s)... 50 of 200" or "Selecting... 500 of 1,000")
  • After cancellation, the DataGrid reflects the current state - already-deleted files are removed, and already-selected files remain selected
  • Ctrl+A in both result windows triggers async batch selection with progress instead of freezing the UI
  • If some items could not be deleted, a dialog lists them (up to 20, with a count of any remainder) and explains the likely cause - in use, read-only, or insufficient permission. The status line also reports how many failed, and those rows stay in the grid

Tips#

  • Settings Persist - All options are saved between sessions and restored on next launch.
  • Batch Loading - Results for large file sets are loaded progressively to keep the UI responsive.
  • Folder Patterns - Write one rule per line as MatchType:Pattern, for example StartsWith:bin or Contains:Debug. Rules match a folder's own name, not its path.
  • Extension Lists - List one extension per line, always with the leading dot (.cs, not cs). Commas are not separators.
  • Review What Ran - Each result window has an Options button showing the exact options the operation used. Options whose switch was off read -- Not Applicable --.
  • Duplicate Detection - Intelligent Hash Matching is recommended for speed: files under 5MB are hashed in full, and larger files are sampled in 1MB chunks rather than read end to end. There is no second confirming pass, so two large files that match at every sampled chunk and share a size are reported as duplicates. Turn it off for full-file hashing before deleting anything you cannot replace.
  • Group Header Selection - In the Find Duplicate Files window, click a group header to select all files in that group.
  • Touch Date Safety - Windows Touch creates a results window before applying changes, allowing you to review the operation scope.
  • Tree View Navigation - Use Space bar to quickly toggle folder selection.
  • Explicit Folder List - Folders typed into the list are used exactly as entered and no wildcards are expanded, but the folder pattern options still apply - a typed folder whose own name matches an exclude rule is skipped. Entering both a folder and one of its sub-folders scans the outer folder once.