1

У меня есть большая и сложная структура вложенных папок на диске. Сказать,

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

Сжатие всех файлов займет несколько часов, поэтому я бы хотел установить атрибут Compressed только для папок. Это оставит существующие файлы без изменений, но новые файлы, добавленные в будущем, будут сжаты.

Есть ли способ добиться этого с помощью командной строки compact.exe ?

1 ответ1

1

Это может быть не совсем ясно из вывода compact /? , но когда вы используете compact /c C:\somefolder , задается только сжатый атрибут папки, в то время как файлы внутри папки сохраняют свой текущий сжатый атрибут без изменений.

Что вы хотите сделать, это:
compact /c Folder1 cd Folder1 for /f "delims=" %i in ('@dir /b /s /a:d') do compact /c "%i" .

Если позднее вы захотите сжать все файлы, повторите две последние команды, но пропустите /a:d .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .