DirectoryPulse! is a backup program for Windows computers and was written and tested with Windows 11. The program should work with older versions of Windows.
See this article for a general description and download instructions: DirectoryPulse Introduction
keyliner's DirectoryPulse program is free to download. No registration. No spyware. No installation.
DirectoryPulse works like this.
- From the main landing page, add one or more top-level folders to backup
- Click "Refresh Directory Listing" to get a report
- Click the Gear Icon
- Use the Presets to assemble a destination path, and to pick the type of backup.
- Click Apply
Optionally, click "Save" and save the preferences for later re-use - On the main panel, click "Backup"
Saved Preferences can be re-retrieved, making a repeatable backup. This can be scheduled and automated.
First-Time/One-Time Recommended Setup:
On first-time launch, a "SystemDefaults" panel is displayed.
The program was written with C#, .DotNet 8.0. When first launched, you may be prompted to install Microsoft's .DotNet 8.0 libraries.
A. Change the default PRESET destinations to match your local drives. For example, if you have a D:\ Drive, you can use it for quick, local backups. The destinations are optional but recommended
There are three major types of destinations:
1. DefaultLocal (typically Drive D:; can be an external USB drive)
2. DefaultSAN (local Network Drive, Synology, etc. Can be a USB drive. Disable with the word "none" -- or just ignore.)
3. DefaultCloud (typically OneDrive or GDrive)
Type, browse, or drag-n-drop a root path for each destination -- pointing to a pre-built top-level folder, such as "D:\Backups". Details below.
- Change DefaultLocal
Set to a local backup drive.
Typically a "D:\" or USB drive.
A root-drive plus a subfolder is required: for example: D:\backup
If a second drive is not available, build a dedicated sub-folder on the C: drive (C:\backups\).
(This is not ideal because it does not protect you from drive failures.)
A DefaultLocal is required, even if this is a dummy location.
- Change DefaultLocal2
Set to a local backup drive.
Typically a "E:\" or a USB drive.
Use "none" to disable
Type a root-drive plus a subfolder is required: for example: E:\backup
This shows up a second DefaultLocal (green) button on the System Config screen.
(2025.11 Graphics in this article were not updated for this new feature)
- Change DefaultSAN
Set to a Network-aware SAN drive, an external USB, or other resource for longer-termed backups. Even though this choice says "SAN", any path can be used. When pointing to this device, typically use a UNC\share-name or a mapped drive. External USB drives can also be used.
Examples:
DefaultSANBackupDestination = \\SynologyNAS\Data\Backups or
DefaultSANBackupDestination = E:\Backups or
DefaultSANBackupDestination = \\PC-2\share\Backups or
DefaultSANBackupDestination = NONE to disable
The destination requires a root drive and subfolder (e.g. \Data, or Data\Backups). Backups cannot be written to the root of a drive.
Note: If you are not authenticated to this drive, or the drive is offline, setting this field is slow as the program attempts to navigate and test the path. Be patient. The offline drive may time-out. You can continue to build a non-existent paths, on the chance they are available later.
- Change Default Cloud
Typically point to a OneDrive or GDrive local folder
Examples:
DefaultCloudBackupDestination = C:\Users\<username>\OneDrive\Backups
"None" to disable
Gdrive's location is:
DefaultCloudBackupDestination = C:\Users\<username>\AppData\Local\Google\DriveFS\backups
Replace <username> with your Windows 10 username or browse the Users folder (or leave text as a literal "<username>" and let the program determine the folder). An active OneDrive (or GDrive) account is required. A subfolder, such as "backups" is required.
Use the Cloud destination for offsite backups. When the backup job is built, the backup can (perhaps "should be") set with the [x] Zip option. This improves file-transfer times
and reduces disk quotas. (Typically, these destinations do not use dated-folders
or generations - just because of disk quotas; an option controllable during the backup.)
d. On the same System Default panel, the "Default Subfolder" field shows a comma-delimited list of recommended subfolder names. These are cosmetic names that help build the assembled destination path. Review the list, adding or subtracting entries.
This is a comma-separated list, defaulting to: Projects, Daily, Weekly, Monthly, Adhoc, Test. Selecting "Projects, Daily, Weekly...." appends a common, predicable name to the already-typed destination path. The assembled path can be overrode and changed by re-typing the assembled destination path.
Click SAVE and close the SystemDefault panel.
During the Actual Backup
-------------------------------------------------------------------
Naming the Configuration Settings:
During the actual backup (the "Gear" icon -- see previous article for how this looks), the job can be named and saved.
There is an art to naming configuration files -- name the files in a way that makes sense to you when looking at them a month later.
Here are the names I am using:
Local-AllData-Dated.ini
Local-Util-Dated.ini
OneDrive-Projects.ini
OneDrive-Projects-Compressed.ini
OneDrive-ProgrammingBook-Compressed.ini
SAN-AllData-Dated.ini
Test.ini
When named and saved, the configuration files are saved as clear-text in
C:\Users\<you>\Prefs\DirectoryPulse\iniFiles
These are simple ascii text files and can be edited, deleted, and renamed at will from within File Explorer. There is nothing magic here. (The Config-file select icon also has a context-menu for manipulating the files within the program.)
Gear Details:
-------------------------------------------
Backup Types:
From the configuration panels (the gear icon), choose the backup type, where I typically use "Dated Folder":
Dated Folders:
Dated-folder makes a full backup of every file and subdirectory in the selected paths. The entire backup's path and structure is re-created within the dated-folder.
D:\Backups\myProject\2024-0801\(C:\)Data\subfolder\deeper-folder\way-down-deep etc.
This type of backup allows you to go back in time and recover older versions of the file -- or entire subdirectories, but the backup is relatively slow -- having to copy each file each time the backup runs.
The option, [x]Limit Dated Backups keeps 10 dated generations of backups -- ten versions of the entire disk structure. On the 11th generation, the oldest is deleted, making for a self-cleaning backup. This is the type I use the most often but it can occupy considerable disk space.
![]() |
| Click for larger view |
Generational Backups:
This is the fastest backup and is similar to traditional "Differential Backups". Only one folder structure is built. The first-time backup is slower -- having to backup every file in the structure. Subsequent runs only backup changed files.
When a changed file is detected, the older version of the file is renamed and the new version arrives -- first in the stack:
For example:
myFile-#01.xlsx -- the previous version (from the last backup)
With this type of backup, a backup-subdirectory might contain 10 versions of the same file; each dated.
Because this backup only backs-up 'changed' files, it is faster. But because the generational-files "intermingle" in the same folder, recovering an entire folder is messy. This is really meant for small-volume recovery. Use this for "transactional backups" -- small data-folders with volatile files -- word processing documents, spreadsheets, and the like.
Added benefits: If a file is deleted from the original (Source) drive, older versions of the file remain in the backup-set and can still be recovered. In other words, older generations of the file remain forever in the backup.
Zipped backups are full-backups (no #generations). Each folder is backed-up as a single ZIP file, one ZIP per subfolder. Typically use this for OneDrive/GDrive/AWS backups. Compressed ZIPs obviously take less space and less time to transmit.
For example:
becomes one zip file: D:\backups\myProject\Data\subfolder1\subfolder1.zip
C:\Data\subfolder2 with 400-files
-------------------------------------------------------------
Other switches:
[x] "Auto-Run"
Auto-Run
is intended for command-line or Windows Task Scheduling and is
required for tasks called by Windows Scheduler. This switch allows the backup to run unattended. The backup runs unattended -- with no prompting. The program auto-closes when done.
Scheduling Backups:
Use the Windows built-in "Scheduler" to schedule periodic backups: See Microsoft documentation for details. In summary: Click Start, Run, "Task Scheduler". Pass command-line parameters when launching, see next.
Command Line Parameters:
DirectoryPulse can be launched from a command line with optional parameters to automate backups. Or a desktop (shortcut) icon can be built with these same parameters.
By passing a preference file (ini file) from either a
Shortcut, Windows Start Menu Tile, or from Windows Task Scheduler, tasks can be fully automated. For example:
C:\Program Files\Util\DirectoryPulse.exe ini=MyFavoritebackup.ini
where:
MyFavoriteBackup.ini is the name of a previously-saved DirectoryPulse
Preference file
[x]Auto-Run should be (must be) flagged in the INI file
When
launched with a Preference/INI file, the program loads, retrieves the preferences, scans
the directories, and launches the backup. When the backup completes,
the program auto-closes. Log files record the transaction. Automation requires [x]Auto-Run as one of the switches inside the preference file.
[x] Delete Path before Backup
This switch deletes the entire destination folder prior to running the new backup. This is a brute-force switch and can only be used with "SIMPLE" backups. Other backups, such as "Dated" backups, self-clean and do not need this setting. With Generational backups, this switch is illogical and cannot be selected.
[x] Discard Cache Directories
Recommended. Discards obvious cache directories in Firefox, WordPerfect, and other such programs. The list of directories and keywords is adjustable -- see the SystemConfig.ini file.
[ ] Allow System Files
Allows backups in directories such as C:\Program Files, C:\Program Files\Common Files. The files must be in the SourcePath list. But this backup does not backup the Registry or other related DLL's that might lurk in Windows\System32. In other words, it is hard to backup installed applications. In no case will it fiddle in the C:\Windows folders. This is by design. For this reason, this option is not particularly recommended, but it can help backup simpler applications, configuration files, and the like.
[ ] Use last DOS Inventory
Mostly used for diagnostics and this switch should not be used. Under the hood, when clicking "Refresh Directory List", the program writes an ascii DOS Directory /s listing which shows the source paths. A report is written as a temporary file (see users\prefs). This checkbox says to keep and re-use the previously-built report; do not re-inventory.
Other files:
When first launched, DirectoryPulse.exe creates several files in
C:\Users\<username>\prefs.
In here, find small control (.ini) files, optional reports, and logs.
SystemConfig.INI
Contains global settings, including destination paths, and discard directories.
This is a simple ascii text file. Edit with care.
If you screw-up this file, see the nearby "controlFileBackups" folder, or simply delete the file to start over.
Log Files:
ASCII-text log files are found in
C:\Users\(your name)\Prefs\DirectoryPulse\Logs
The (15) most-recent logs are kept. This count is not adjustable.
Easter Egg: Hover the mouse here.
Restores:
DirectoryPulse uses simple file copies and the backups live in a folder-by-folder reconstruction on your source files. To restore a file or folder, use File Explorer to copy that file/folder back to the source drive. This program does not help in the restores. Perhaps a later version.
To recover an older generational file (e.g. testfile-#01.xlsx), copy the numbered version and then manually rename, removing the -#00 appendage. Files may have more than one version.
Other Comments:
DirectoryPulse is not an image backup and cannot be used to recover a crashed hard disk. Instead, it is meant to keep operational copies, which can help recover from spreadsheet-blunders, ransomware, viruses, etc.
DirectoryPulse is not meant to backup Windows System folders, or ProgramFiles, and it actively avoids these areas. In any case, restores from program folders would be flawed because of Registry and other concerns.
OneDrive files:
DirectoryPulse sees and inventories OneDrive files -- especially if "MyDocuments" is in the backup path -- but this program avoids off-site pointers. In other words, if OneDrive has a pointer to an off-line file, DirectoryPulse skips that file, even if it is in the backup path, and even if the file were marked as "changed." (See Users\YourName\OneDrive).
The reason: A backup of an off-site OneDrive file would cause it download and expand locally on your PC. This could be gigabytes of network and disk activity. DirectoryPulse assumes Onedrive is and adequate backup and will ignore the file.
But, if the OneDrive file has already downloaded and expanded locally, and it is in the backup path, DirectoryPulse will make the copy -- assuming the file has had a recent change. This does not incur any extra overhead from the network or disk gods.
Backup Thoughts:
With any backup strategy, it is wise to make Offline or Near-Offline backups -- backing up to an external USB drive -- then disconnect the drive. In the event of a ransomware attack (where every file, every drive, every SAN) is encrypted, that drive would be safe.
Consider offsite backups. Consider .ZIP backups.
Slow Backups to USB devices:
DirectoryPulse does nothing special when writing a backup -- the technique is similar to an xcopy or robocopy.
I have found some USB disks -- particularly cheap "thumb drives" -- are painfully slow -- especially when a large number of files. The slowness is regardless of DirectoryPulse being used or not. This is a gnarly problem and seems best resolved by not using that device.
See this article for hints on how to improve this.
https://keyliner.blogspot.com/2010/07/acronis-2010-usb-drive-backup-speed.html
Preference File Location:
C:\Users\<login>\prefs\DirectoryPulse
Log File Location:
C:\Users\<login>\prefs\DirectoryPulse\Logs
--------------------
This program was a blast to write, and I use it daily. I hope you enjoy using it too. Your comments are welcome.
Related Article:
DirectoryPulse Introduction
USB Drive Backup Speed Slow






No comments:
Post a Comment
Comments are moderated and published upon review. (As an aside, not a single spam has been allowed through; why bother?)