fsutil file

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8

Находит файл по имени пользователя (если включены квоты диска), запрашивает выделенные диапазоны для файла, задает короткое имя файла, задает допустимую длину данных файла, задает нулевые данные для файла или создает новый файл.

Синтаксис

fsutil file [createnew] <filename> <length>
fsutil file [findbysid] <username> <directory>
fsutil file [optimizemetadata] [/A] <filename>
fsutil file [queryallocranges] offset=<offset> length=<length> <filename>
fsutil file [queryextents] [/R] <filename> [<startingvcn> [<numvcns>]]
fsutil file [queryfileid] <filename>
fsutil file [queryfilenamebyid] <volume> <fileid>
fsutil file [queryoptimizemetadata] <filename>
fsutil file [queryvaliddata] [/R] [/D] <filename>
fsutil file [seteof] <filename> <length>
fsutil file [setshortname] <filename> <shortname>
fsutil file [setvaliddata] <filename> <datalength>
fsutil file [setzerodata] offset=<offset> length=<length> <filename>

Параметры

Параметр Описание
createnew Создает файл указанного имени и размера с содержимым, состоящим из нуля.
<length> Указывает допустимую длину данных файла.
findbysid Находит файлы, принадлежащие указанному пользователю в томах NTFS, где включены квоты дисков.
<username> Указывает имя пользователя или имя входа пользователя.
<directory> Указывает полный путь к каталогу, например C:\users.
оптимизация метаданных Это выполняет немедленное сжатие метаданных для заданного файла.
/a Анализ метаданных файла до и после оптимизации.
queryallocranges Запрашивает выделенные диапазоны для файла в томе NTFS. Полезно определить, имеет ли файл разреженные области.
offset=<offset> Указывает начало диапазона, который должен иметь значение нулей.
length=<length> Указывает длину диапазона (в байтах).
queryextents Запросы экстентов для файла.
/r Если <filename> это точка повторного выполнения, откройте ее, а не ее целевой объект.
<startingvcn> Указывает первый VCN для запроса. Если опущено, начните с VCN 0.
<numvcns> Количество VCN для запроса. Если опущено или 0, запрос не будет выполняться до EOF.
queryfileid Запрашивает идентификатор файла в томе NTFS.
<volume> Указывает том в качестве имени диска, за которым следует двоеточие.
queryfilenamebyid Отображает имя случайной ссылки для указанного идентификатора файла в томе NTFS. Так как файл может иметь несколько имен ссылок, указывающих на этот файл, он не гарантирует, какая ссылка на файл будет предоставлена в результате запроса на имя файла.
<fileid> Указывает идентификатор файла в томе NTFS.
queryoptimizemetadata Запрашивает состояние метаданных файла.
queryvaliddata Запрашивает допустимую длину данных для файла.
/d Отображение подробных допустимых сведений о данных.
seteof Задает EOF заданного файла.
setshortname Задает короткое имя (имя файла длиной символов 8.3) для файла в томе NTFS.
<shortname> Указывает короткое имя файла.
setvaliddata Задает допустимую длину данных для файла в томе NTFS.
<datalength> Указывает длину файла в байтах.
setzerodata Задает диапазон (задается смещением и длиной) файла на нули, что очищает файл. Если файл является разреженным файлом, базовые единицы выделения удаляются.

Замечания

  • В NTFS существует два важных понятия длины файла: маркер конца файла (EOF) и допустимая длина данных (VDL). EOF указывает фактическую длину файла. VDL определяет длину допустимых данных на диске. Все операции чтения между VDL и EOF автоматически возвращают значение 0, чтобы сохранить требование повторного использования объекта C2.

  • Параметр setvaliddata доступен только для администраторов, так как для него требуются права выполнения задач обслуживания томов (SeManageVolumePrivilege). Эта функция требуется только для расширенных сетевых сценариев мультимедийной и системной области. Параметр setvaliddata должен быть положительным значением, которое больше текущего VDL, но меньше текущего размера файла.

    Это полезно для программ, чтобы задать VDL при следующих случаях:

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

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

Примеры

Чтобы найти файлы, принадлежащие scottb на диске C, введите:

fsutil file findbysid scottb c:\users

Чтобы запросить выделенные диапазоны для файла в томе NTFS, введите следующее:

fsutil file queryallocranges offset=1024 length=64 c:\temp\sample.txt

Чтобы оптимизировать метаданные для файла, введите следующее:

fsutil file optimizemetadata C:\largefragmentedfile.txt

Чтобы запросить экстенты для файла, введите следующее:

fsutil file queryextents C:\Temp\sample.txt

Чтобы задать EOF для файла, введите следующее:

fsutil file seteof C:\testfile.txt 1000

Чтобы задать короткое имя файла, longfilename.txt на диске C на longfile.txt, введите:

fsutil file setshortname c:\longfilename.txt longfile.txt

Чтобы задать допустимую длину данных в 4096 байтах для файла с именем testfile.txt в томе NTFS, введите:

fsutil file setvaliddata c:\testfile.txt 4096

Чтобы задать диапазон файла в томе NTFS равным нулю, введите следующее:

fsutil file setzerodata offset=100 length=150 c:\temp\sample.txt