1

Windows NTFS поддерживает встроенное сжатие папок и файлов. Windows FAT нет.

(И есть другие, которые также попадают в одну из этих двух категорий.)

Как вы можете определить, имеет ли файловая система такую возможность?

Сценарий: необходимо написать сценарий для некоторых действий и установить сжатые файлы, если это возможно. Но если это не так, сценарий не может потерпеть неудачу; так что в идеале я хотел бы проверить это в первую очередь. Таким образом, лучший случай - найти простой подход командной строки для проверки возможностей сжатия.


Примечание / Связанный: Согласно Есть ли способ переключить команду Windows "Сжать этот диск" через командную строку? Вы можете использовать compact утилиту для де-сжатия файлов и папок в файловой системе, которая поддерживает это. Будет ли это вообще существовать на ПК с Windows, установленном в файловую систему FAT? Если так, что произойдет, если вы запустите его? (У меня нет примера ПК, чтобы примерить его.)


Примечание. Похоже, что для этого есть программный способ, но, как уже упоминалось, это не самый лучший подход для скриптового приложения.

1 ответ1

3

Чтобы определить, имеет ли файловая система возможность сжатия, можно использовать утилиту, включенную в Windows fsutil , единственное, что вам нужно помнить, это то, что fsutil требует административных прав. Вы можете обнаружить файловую систему напрямую:

fsutil fsinfo volumeinfo c: | find "File System Name"

это вернет имя файловой системы.

Если вам нужно только определить поддержку сжатия, вы можете запустить следующий код:

fsutil fsinfo volumeinfo c: | find "Supports file-based Compression"

которые раскрывают конкретные детали, которые вам нужны.

Также, проверив полный вывод команды fsutil можно получить более подробную информацию о рассматриваемой файловой системе (это будет выглядеть так):

Volume Name : VolumeLabel
Volume Serial Number : 0x01020304
Max Component Length : 255
File System Name : NTFS
Supports Case-sensitive filenames
Preserves Case of filenames
Supports Unicode in filenames
Preserves & Enforces ACL's
Supports file-based Compression
Supports Disk Quotas
Supports Sparse files
Supports Reparse Points
Supports Object Identifiers
Supports Encrypted File System
Supports Named Streams
Supports Transactions
Supports Hard Links
Supports Extended Attributes
Supports Open By FileID
Supports USN Journal

AFAIR fsutil включен как минимум начиная с Windows XP

... вы можете использовать компактную утилиту для де-сжатия файлов и папок в файловой системе, которая поддерживает это. Будет ли это вообще существовать на ПК с Windows, установленном в файловую систему FAT? Если так, что произойдет, если вы запустите его?

compact утилита присутствует в Windows XP, даже если она установлена на FAT, но вернет код ERRORLEVEL больше нуля, если попытаться запустить его на FAT. Я считаю, что это сохранилось, потому что Windows XP поддерживает преобразование файловой системы FAT в NTFS в живых системах, поэтому она может быть использована в будущем.

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