VsBackup v2

13. Oktober 2019

VsBackup2 - A Windows (C) console backup utility



vsbackup2.exe (of course there was a first version back in the days...) is a small console backup utility for x64 © Windows 10. It utilizes the Windows© Volume Shadow Copy service und can therefore be used to backup open files. There is no special tool necessary to look into the backup and restore your files. And unlike the build in file history thing in Windows vsbackup2 does not change backup file names and/or append stupid timestamps to it. Just use whatever filemanager you like to look into the archive and restore files from it. It uses NTFS hardlinks to save diskspace while backing up identical files. It is better at excluding files and/or directories then the build-in Windows file history thing. vsbackup2 uses OpenSSL to verify each copy using SHA1 checksums.


It is, however, not suitable for backing up large and often changin' files such as virtual disk images and it does NOT support UNC path names - i.e. network drives. Backing up network drives can be done by server side software.

VsBackup2 supports up to 1023 versions of each file. This is due to NTFS limitations.


  • Windows 10 or later; sorry folks, but I have to move on
  • An NTFS-formatted hard drive connected via USB or as internal hard drive
  • Administrative privileges
  • Latest C++ Redistributable Package



Extract and copy the contens of the downloaded ZIP file to a folder on your computer. To backup your data start cmd.exe with administrative privileges. Asume, John Doe would like to create a backup of his home directory to his USB backup drive windows has assigned the letter E: (path and drive letters can be lower or upper case) he will call vsbackup this way:

driveletter:\\path\to\vsbackup2.exe --source="c:\users\john doe" --destination=e:\backup

You can now create a Scheduled Task to backup your files every day or every hour. Thats completely up to you. But don't think you have to create that Scheduled Task, you don't. You can simply run the program and type all it's options over and over again. Or you can of course write a batch file and run that from an elevated command prompt ;) I'd at least recommend the batch file... Use --vid option to handle destination drive letter changes: If you use an external hard drive you can make sure, vsbackup2 finds your drive even if the drive letter changes. Just open up a command prompt and type, for example, vol f: where f is the current drive letter of your external harddrive (internal harddrives are not know to change it's drive letter ;-)) A volume serial ID looks like this: 66BF-942D. Use your value as parameter for --vid. For example --vid=66BF-942D


If you now take a look into the backup folder you will find a subfolder named after the current timestamp. Below that folder each file was recreated with its whole source path, as a real copy or as a hardlink if a previous backup set exists and the file in that backup set did not change in last write timestamp and size

Return Codes

  • 0 equals SUCCESS
  • 1 equals ERROR





  • Updated OS version detection using kernel level functions; Updated OpenSSL to 1.0.2t