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
.