Use 7z para fazer backup de cada subdiretório em um arquivo separado

1

Minha estrutura de arquivos é:

c:\csdata\folder1
c:\csdata\folder2
c:\csdata\folder3
etc

Estou tentando usar o 7z para fazer o backup de todas as pastas em csdata em seu próprio arquivo para uma pasta temporária (C: \ butemp).

Aqui 'o que eu tenho até agora:

For /D %%i in (C:\csdata\*.*) DO 7za a "%%i.7z" "%%i"

O acima funciona, mas cria o arquivo 7z na pasta csdata , porque %%i é igual ao caminho completo.

    
por Kevin Baker 06.08.2014 / 20:57

1 resposta

1

for permite extrair (e combinar) várias partes da variável de loop (retirado de 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)

Você pode usar 7za a "C:\butemp\%%~nxi.7z" "%%i"

Execute help for para mais opções

    
por 06.08.2014 / 21:43