Como fazer compact.exe para compactar apenas pastas, mas não arquivos?

1

Eu tenho uma estrutura de pastas aninhada grande e complexa no disco. Diga,

Folder1
<many files>
  Subfolder1
  <many files>
  Subfolder2
  <many files>
  ...
  SubfolderNNN

A compactação de todos os arquivos levaria algumas horas, portanto, gostaria de definir o atributo Compactado somente em pastas. Isso deixaria os arquivos existentes inalterados, mas novos arquivos adicionados no futuro seriam compactados.

Existe uma maneira de conseguir isso usando a linha de comando compact.exe ?

    
por Andrey 18.10.2013 / 10:53

1 resposta

1

Pode não estar totalmente claro na saída de compact /? , mas quando você usa compact /c C:\somefolder , somente o atributo compactado da pasta é definido, enquanto os arquivos dentro da pasta mantêm seu atributo compactado atual inalterado.

O que você quer fazer é:
compact /c Folder1 cd Folder1 for /f "delims=" %i in ('@dir /b /s /a:d') do compact /c "%i" .

Se você pretende mais tarde compactar todos os arquivos, repita os dois últimos comandos, mas omita o /a:d .

    
por 02.02.2017 / 21:27