Используйте 7z для резервного копирования каждого подкаталога в отдельный файл
Моя файловая структура:
c:\csdata\folder1
c:\csdata\folder2
c:\csdata\folder3
etc
Я пытаюсь использовать 7z для резервного копирования всех папок в csdata
в свой собственный архив во временную папку (C:\butemp).
Вот что у меня так далеко:
For /D %%i in (C:\csdata\*.*) DO 7za a "%%i.7z" "%%i"
Выше работает, но он создает файл 7z в csdata
папка, потому что %%i
равно полному пути.
1 ответ
Решение
for
дает возможность извлекать (и комбинировать) различные части из переменной цикла (взятой из help for
):
% ~ nI - расширяет%I только до имени файла
%~xI - расширяет%I только до расширения файла
(Усечены)
The modifiers can be combined to get compound results:
%~dpI - expands %I to a drive letter and path only
%~nxI - expands %I to a file name and extension only
(truncated)
Так что вы могли бы использовать 7za a "C:\butemp\%%~nxi.7z" "%%i"
Бежать help for
для большего количества вариантов