Download
0: @echo off
1: rem Copy open files using Volume Shadow Copy Service (FAR Manager User Menu script)
2: rem Author Szikra Istvan, 2011.05.08.
3: rem e-mail: szikra.istvan@freemail.hu
4: rem web: http://www.szikraistvan.hu/
5: rem http://foton.szikraistvan.hu/blog/
6:
7: rem call the same batch file as callback function with Shadow Copy Device parameter
8: if "%callback%"=="%~dpnx0" goto callback
9:
10: if a%3==a (
11: :usage
12: echo Usage: %~nx0 ^<source path^> ^<destination path^> ^<filename list file^>
13: goto :EOF
14: )
15:
16: SetLocal
17:
18: set log="%~dpn0.log"
19: set vssvbs="%~dpn0.vbs"
20: set callback=%~dpnx0
21: set srcd=%~d1
22: set srcp=%~pnx1
23: set dst=%2
24: set filelist=%~3
25:
26: rem ----- Logging -------
27: echo. >> %log%
28: echo --------- %date% %time% --------- >> %log%
29: echo %* >> %log%
30: type %3 >> %log%
31:
32: call cscript /nologo %vssvbs% %srcd%
33: rem call cscript /nologo %vssvbs% %srcd% >> %log%
34:
35: EndLocal
36:
37: goto :EOF
38: rem ------------------ CallBack ---------------------
39: :callback
40: if a%1==a (
41: echo "Error in callback parameter!"
42: echo Should be called: %~nx0 ^<shadow copy device^>
43: goto :EOF
44: )
45:
46: :copy
47: for /F "tokens=* delims= " %%f in (%filelist%) do (
48: echo copy "%srcd%%srcp%%%f" %dst%
49: rem xcopy /X /O /H /E /K /R /G /Y "%1%srcp%%%f" %dst%
50: echo copy /y "%1%srcp%%%f" %dst%
51: copy /y "%1%srcp%%%f" %dst%
52: )
53: