Я делал это раньше.
Самый простой способ, который мы обнаружили, - это создать 4 версии vshadow.exe (демонстрационный инструмент для быстрого запуска с VSS с веб-сайта Microsoft): по одной для каждой целевой платформы в XP / более поздней и x86 / x64.
VShadow в основном позволяет создавать или уничтожать снимок и извлекать путь, который выглядит следующим образом:
\\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyXX
, который можно использовать для замены буквы вашего диска (например, D:
), которая работает с API файлов JAVA .
Версия VShadow из VSS SDK предназначена для чтения и записи, это не та же версия, что и исполняемый файл, который вы можете загрузить напрямую, только для чтения.
Затем в Java легко написать две оболочки CLI с унифицированным интерфейсом (для обработки двух разных поведений VShadow между XP и более поздними версиями).
Удачи.