因为您的示例正是我正在寻找的,所以这就是我作为“转储”我所有存储库的完整解决方案所做的。该解决方案将所有 svn 存储库转储到 7-zip 文件,而无需未压缩的中间文件。
将该批处理文件放在您的“存储库根目录”中,例如 m:\repositories\dump-all.bat
pushd %~dp0
SET SEVENZIP="c:\Program Files\7-Zip\7z.exe" a -mx1 -si
FOR /f "tokens=*" %%i in ('DIR /a:d /b') DO svnadmin dump %%i | %SEVENZIP% ..\_svndump\%%i.dump.7z
而且,如果您需要以低优先级运行它,像这样启动该批处理,这两个进程(7z + svnadmin)都将占用大量 cpu
start /low m:\repositories\dump-all.bat
注意:“pushd %~dp0”将“当前目录”设置为批处理文件所在的位置,而不是在“c:\windows\system32”中启动它,如果您从资源管理器中以“以管理员身份运行”启动它。如果工作文件夹在另一个驱动器上,它也可以工作。
无需键入“m:”和“cd \repositories”。如果你从“c:”驱动器启动它。