Используйте 7z для резервного копирования каждого подкаталога в отдельный файл

583
Kevin Baker

Моя файловая структура:

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

1 ответ на вопрос

1
wmz

for gives you the ability to extract (and combine) various parts from the loop variable (taken from help for):

%~nI - expands %I to a file name only
%~xI - expands %I to a file extension only
(truncated)

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) 

So you could use 7za a "C:\butemp\%%~nxi.7z" "%%i"

Run help for for more options

Круто .. спасибо за помощь и отлично поработали! Kevin Baker 9 лет назад 0