На серверных операционных системах я могу (и делаю это) создать теневую копию тома и смонтировать эту копию с помощью mklink перед копированием папки, в которой почти всегда есть открытые файлы. Ниже приведен пример вопросов и ответов.
FOR /f "tokens=1,2 delims=:" %%a in ('vssadmin create shadow /for^=d: /autoretry^=3 ^| find "Shadow Copy Volume Name"') do set ShadowPath=%%b\
MKLINK /d c:\ShadowPath\ %ShadowPath%
ROBOCOPY c:\shadowpath\Accounts \\NAS2\OffsiteBackup\%ComputerName%\D\Accounts /mir
RD c:\ShadowPath\
Я хотел бы сделать то же самое на машине с Windows 7, и, конечно, "vssadmin create shadow" не поддерживается. Я использовал vshadow/vscsc и связанные с ними утилиты (dosdev и т. д.) в прошлом, однако было бы неплохо не использовать сторонние утилиты.
Использование wbadmin для запуска и остановки резервного копирования действительно создает SRP, но это неудобно.
«wmic shadowcopy create» кажется, что это может сработать, но я не могу разобраться с синтаксисом.
Буду очень признателен за любой вклад, который укажет мне правильное направление.
решение1
вы можете использовать VBS и запустить VBS из пакета. Скрипты VBS для теневого копирования:http://www.activexperts.com/network-monitor/windowsmanagement/scripts/shadowcopy/
batch.cmd: cscript "CreateShadowCopy.vbs"