fsutil file
ユーザー名によるファイルの検索 (ディスク クォータが有効な場合)、ファイルに割り当てられた範囲の照会、ファイルの短い名前の設定、ファイルの有効なデータ長の設定、ファイルのゼロ データの設定、または新しいファイルの作成を行います。
構文
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 | 指定された名前とサイズのファイルを、0 で構成されるコンテンツで作成します。 |
<length> |
ファイルの有効なデータ長を指定します。 |
findbysid | ディスク クォータが有効になっている NTFS ボリューム上の、指定されたユーザーに属するファイルを検索します。 |
<username> |
ユーザーのユーザー名またはログオン名を指定します。 |
<directory> |
ディレクトリへの完全パスを指定します。たとえば、C:\users など。 |
optimizemetadata | これにより、指定されたファイルのメタデータが即座に圧縮されます。 |
/a | 最適化の前後にファイルのメタデータを分析します。 |
queryallocranges | NTFS ボリューム上のファイルに割り当てられた範囲を照会します。 ファイルにスパース領域があるかどうかを判断する場合に便利です。 |
offset=<offset> |
0 に設定する範囲の先頭を指定します。 |
length=<length> |
範囲の長さ (バイト単位) を指定します。 |
queryextents | ファイルのエクステントを照会します。 |
/r | <filename> が再解析ポイントである場合は、そのターゲットではなく開きます。 |
<startingvcn> |
照会する最初の VCN を指定します。 省略した場合は、VCN 0 から開始します。 |
<numvcns> |
照会する VCN の数。 省略した場合または 0 の場合は、EOF まで照会します。 |
queryfileid | NTFS ボリューム上のファイルのファイル ID を照会します。 |
<volume> |
ボリュームをドライブ名の後にコロンを続けて指定します。 |
queryfilenamebyid | NTFS ボリューム上の指定したファイル ID のランダムなリンク名を表示します。 ファイルは、そのファイルをポイントする複数のリンク名を持つことができるため、ファイル名の照会結果としてどのファイル リンクが提供されるかは保証されません。 |
<fileid> |
NTFS ボリューム上のファイルの ID を指定します。 |
queryoptimizemetadata | ファイルのメタデータ状態を照会します。 |
queryvaliddata | ファイルの有効なデータ長を照会します。 |
/d | 有効なデータの詳細情報を表示します。 |
seteof | 指定されたファイルの EOF を設定します。 |
setshortname | NTFS ボリューム上のファイルの短い名前 (8.3 文字長のファイル名) を設定します。 |
<shortname> |
ファイルの短い名前を指定します。 |
setvaliddata | NTFS ボリューム上のファイルの有効なデータ長を設定します。 |
<datalength> |
ファイルの長さをバイト単位で指定します。 |
setzerodata | ファイルの範囲 (offset と length で指定) をゼロに設定します。これにより、ファイルが空になります。 ファイルがスパース ファイルの場合は、基になるアロケーション ユニットがデコミットされます。 |
解説
NTFS には、ファイルの長さに関する重要な概念が 2 つあります。ファイルの終端 (EOF) マーカーと有効なデータ長 (VDL) です。 EOF は、ファイルの実際の長さを示します。 VDL は、ディスク上の有効なデータの長さを識別します。 VDL と EOF の間の読み取りでは、C2 オブジェクト再利用要件を維持するために、自動的に 0 が返されます。
setvaliddata パラメーターは、ボリュームの保守タスクの実行特権 (SeManageVolumePrivilege) が必要なため、管理者のみが使用できます。 この機能は、高度なマルチメディアおよびシステム エリア ネットワークのシナリオでのみ必要です。 setvaliddata パラメーターには、現在の VDL よりも大きい正の値を指定する必要があります。ただし、現在のファイル サイズよりも小さくする必要があります。
次の場合にプログラムで VDL を設定すると便利です。
ハードウェア チャネルを使用して、未処理のクラスターを直接ディスクに書き込む場合。 これにより、プログラムは、この範囲にユーザーに返される有効なデータが含まれていることをファイルシステムに通知することができます。
パフォーマンスが問題になるときに、大きなファイルを作成する場合。 これにより、ファイルが作成または拡張されたときに、ファイルがゼロでいっぱいになるまでにかかる時間を回避できます。
例
ドライブ C の scottb によって所有されているファイルを検索するには、次のように入力します。
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
ドライブ C のファイル longfilename.txt の短い名前を longfile.txt に設定するには、次のように入力します。
fsutil file setshortname c:\longfilename.txt longfile.txt
NTFS ボリューム上の testfile.txt という名前のファイルの有効なデータ長を 4096 バイトに設定するには、次のように入力します。
fsutil file setvaliddata c:\testfile.txt 4096
NTFS ボリューム上のファイルの範囲をゼロに設定して空にするには、次のように入力します。
fsutil file setzerodata offset=100 length=150 c:\temp\sample.txt