FSUTIL--Windows 下的又一个超级强大的命令

https://www.cnblogs.com/libao/articles/2794552.html

windows下有这个命令!

C:\WINDOWS>fsutil ---- 支持的命令 ----

behavior        控制文件系统行为 dirty           管理卷的被损坏的位数 file            文件特定命令 fsinfo          文件系统信息 hardlink        硬链接管理 objectid        对象 ID 管理 quota           配额管理 reparsepoint    重分析点管理 sparse          稀疏文件控制 usn             USN 管理 volume          卷管理 -----------------------

这句话是从网上看到的:如果要查看当前NTFS版本号,只要在命令提示符中输入

“fsutil fsinfo ntfsinfo c:”(C为分区盘符)即可看到。

查询卷信息:

C:\WINDOWS>fsutil fsinfo ntfsinfo c: NTFS 卷序列号 :       0x9c98ce8098ce5882 版本 :                         3.1 区数量 :                  0x0000000001388afb 簇总数 :                  0x000000000027115f 可用簇 : 0x00000000000bbbcc 保留总数 :                  0x0000000000000070 每个扇区字节数  :               512 每个簇字节数 :               4096 每个 FileRecord 段的字节数    : 1024 每个 FileRecord 段的簇数 : 0 Mft 有效数据长度 :           0x0000000005a3c000 Mft 起始 Lcn  :                  0x00000000000c0000 Mft2 起始 Lcn :                  0x00000000001388af Mft 区域起始 :                  0x00000000001a88e0 Mft 区域结尾   :                  0x00000000001b9900

-----------------------

创建长度自定义的文件:

fsutil file createnew C:\testfile.txt 10000

-----------------------

检查怀的卷:

C:\WINDOWS>fsutil dirty query c: 卷 - c: 没有损坏

-----------------------

查询卷的可用空间

C:\WINDOWS>fsutil volume diskfree c: 可用字节总数        : 3149250560 字节总数             : 10487197696 可用的尚未使用的字节总数  : 3149250560

-----------------------

此工具的详细用法在此: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true

常归的创建文件的方法有很多,今天给大家说一种新的方法
fsutil file createnew new.txt 300
创建一个大小为300字节的new.txt

fsutil fsinfo drives
获得各个驱动器盘符

behavior        控制文件系统行为 dirty           管理卷的被损坏的位数 file          文件特定命令 fsinfo       文件系统信息 hardlink        硬链接管理 objectid        对象 ID 管理 quota           配额管理 reparsepoint 重分析点管理 sparse       稀疏文件控制 usn          USN 管理 volume       卷管理 behavior 查询、更改、启用或禁用下列行为的相关设置:生成 8.3 字符长文件名、接收 NTFS 卷上的 8.3 字符长文件名内的扩展字符、更新 NTFS 卷上的最近访问时间戳、配额事件写入系统日志的频率以及保留给 MFT 区的磁盘空间量。 
dirty 查询是否设置了卷的坏区。设置卷的坏区。当一个卷的坏区设置后,在下次重新启动计算机时 
autochk 自动检查卷错误。 
file 主要由专业支持者使用。根据安全标识符查找文件、查询文件的分配范围、设置文件简短名称、设置文件的有效数据长度或设置文件零数据。 
fsinfo 主要由专业支持者使用。列出所有驱动器,查询驱动器类型、卷信息,查询特定的 NTFS 卷信息,或查询文件系统统计数据。 
hardlink 创建硬连接。硬连接就是某个文件的目录入口。每个文件都可认为至少有一个硬连接。在 NTFS 卷上,每个文件都有多个硬连接,因而一个文件可以出现在多个目录(甚至具有不同名称的相同目录)中。由于所有链接都引用同一个文件,所以程序能打开任意链接并修改文件。只有当一个文件的所有链接都删除后,该文件才能从文件系统中删除。创建硬连接后,程序可以象使用其它任何文件名那样使用它。 
objectid 主要由专业支持者使用。管理对象标识符,该标识符由 Windows XP 用于跟踪如文件和目录等的对象)。 
quota 管理 NTFS 卷上的磁盘配额,以便对网络存储的提供更精确控制。磁盘配额是根据每个卷来实施的,并以每个用户为基础启用硬存储和软存储限制。 
reparsepoint 主要由专业支持者使用。查询或删除重新分析点,这些重新分析点是 NTFS 文件系统对象,而这些对象具有可定义的包含用户控制数据的属性,这些重新分析点在输入/输出 (I/O) 子系统中用于扩展功能。重新分析点作为目录连接点和卷安装点。文件系统过滤驱动程序使用重新分析点来标记该驱动程序特定的某些文件。 
sparse 管理稀疏文件 。稀疏文件是指内部具有一个或多个未分派的数据区域的文件。程序将会发现这些未分派的包含零字节的区域,但是没有实际的磁盘空间用来代表这些零。换句话说,所有有意义或非零数据得到了分配,反之所有无意义的数据(大串由零组成的数据)没有得到分配。当读入稀疏文件时,已分配的数据以存储方式返回,在默认情况下,按照 C2 安全需求未分配的数据也返回。稀疏文件支持允许在文件的任意位置解除分配数据。 
usn 主要由专业支持者使用。管理更新序列号 (USN) 会改变日志,该日志提供了永久的对卷中所有对文件做过修改的的记录。 
volume 管理卷。卸下卷,或查看磁盘上的可用空间。
以上只是简要说明,下面进入详细分析: Fsutil:behavior 查询下列行为的当前设置:生成 8.3 字符长的文件名、允许 NTFS 卷上 8.3 字符长的文件名中的扩展字符、更新 NTFS 卷上的最近 访问时间戳、配额事件写入系统日志中的频率以及主文件表 (MFT) 区的大小。启用或禁用 8.3 字符长文件名的使用、允许 NTFS 卷 上 8.3 字符长文件名中的扩展字符以及更新 NTFS 卷上的最近访问时间戳。允许更改配额事件写入系统日志中的频率以及保留给 MFT 区的磁盘空间量。 语法 fsutil behavior query {disable8dot3|allowextchar|disablelastaccess|quotanotify|mftzone} fsutil behavior set [{disable8dot3 {1|0}|allowextchar {1|0}|disablelastaccess {1|0}|quotanotify frequency|mftzone value}] 参数 query 
查询文件系统的行为参数。 set 更改文件系统的行为参数。 disable8dot3 {1|0} 在 FAT 和 NTFS 格式化的卷上禁用创建 8.3 字符长文件名。 allowextchar {1|0} 确定来自扩展字符集中的字符是否可用于 NTFS 卷上的 8.3 短文件名中。 disablelastaccess {1|0} 确定当列出 NTFS 卷上的目录时,NTFS 是否更新各个目录上的最近访问时间戳。 quotanotify frequency 配置 NTFS 配额侵犯在系统日志中的报告频率。该配额侵犯写入系统日志的时间频率为 0 秒到 4294967295 秒之间。默认值为 1 小 时(3600 秒)。 
mftzone value 主文件表 (MFT) 区是一个保留的区域,可在需要时启用 MFT 扩展,以防止 MFT 出现碎片。将 value 设置为从 1(默认值)到 4( 最大值)。value 在该磁盘的第 8 区中。 注释 behavior 子命令可将更改写入注册表,所以只有重新启动计算机才能使更改生效。 使用 disable8dot3 {1|0} 当将 disable8dot3 设置为 0 时,当每次创建带有长文件名的文件时,NTFS 将创建另一个带有 8.3 字符长文件名的的文件项。 NTFS 在文件夹中创建文件后,必须同时查找与长文件名相关的 8.3 字符长文件名。 该参数可以更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation 注册表项。 使用 allowextchar {1|0} 该参数可以更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsAllowExtendedCharacterIn8dot3Name 注册表项。 使用 disablelastaccess {1|0} disablelastaccess 参数设计用于降低更新文件夹或目录的最近访问时间戳带来的登录影响。禁用“最近访问时间”将有利于提高文 件夹和文件的访问速度。 NTFS 卷上的每个文件和文件夹都包含一个称为“最近访问时间”的属性。该属性定义最近访问文件或文件夹的时间,例如用户列举 文件夹、将文件添加到文件夹、读文件或更改文件的时间。最新的“最近访问时间”存储在内存中,并最终写入两个不同位置的磁盘 中。一个是文件的属性中,该属性构成了 MFT 记录的一部分。另一个位于该文件所在的目录的索引中。 磁盘上的“最近访问时间”并不总是最新的。这种滞后的发生是因为当用户或程序执行对文件或文件夹的只读操作时,例如列举文件 夹中的内容或读取(但不更改)文件夹中的文件时,NTFS 没有及时将“最近访问时间”写入磁盘中。如果读磁盘操作时保留了最新 的“最近访问时间”,则所有读操作都将变为写操作,而这会影响 NTFS 的性能。 请注意,即使所有磁盘上的值都不是最新的,基于文件的“最近访问时间”查询也是精确的。NTFS 可以返回查询的正确值,这是因 为精确值存储在内存中。 如果内存中的当前“最近访问时间”比存储在磁盘上的“最近访问时间”晚一小时,或内存中所有指向该文件的引用都已不存在(更 新),则 NTFS 一般会更新磁盘中的文件属性。例如,如果文件的当前“最近访问时间”是下午 1:00 点,您在下午 1:30 读取该文 件,则 NTFS 将不更新“最近访问时间”。如果您在下午 2:00 点再次读该文件,则 NTFS 会将文件属性的“最近访问时间”更新为 下午 2:00,这是因为文件的属性显示下午 1:00 点,而内存中的“最近访问时间”显示为下午 2:00 点。 当 NTFS 更新文件的“最近访问时间”并检测到文件的“最近访问时间”比目录索引中存储的“最近访问时间”晚一小时时,NTFS 
将更新该文件所在目录的索引。当某个程序关闭了用于访问目录中文件的句柄时,一般会出新这种更新。如果用户持有的句柄继续打 开一小时,则时间滞后会在目录的索引项目中显示更改之前发生。 请注意,NTFS 延迟更新磁盘上的“最近访问时间”的最大值是一小时。如果 NTFS 更新其它文件属性,如“最近修改时间”,且“ 最近访问时间”更新正处于未决状态,则 NTFS 将会在执行其它更新时,同时更新“最近访问时间”,而不会对性能造成其它影响。 请注意,使用 disablelastaccess 参数有可能影响依赖该功能的一些程序,例如备份和远程存储。 该参数可以更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate 注册表项。 使用 mftzone value value 是新卷上的 MFT 初始大小加上 MFT 区大小的近似值,它在每个文件系统的装入时间进行设置。由于使用卷上的空间,所以 NTFS 将会调整使用的空间,以备今后 MFT 增长时使用。如果 MFT 区已经很大,则不会再次保留整个 MFT 区大小。由于 MFT 区是 以 MFT 末端后的连续空间为基础的,所以该区会随着空间的使用变小。 文件系统不能再次确定 MFT 区的位置,直到完全使用了当前的 MFT 区。这种情况不会出现在一些典型的系统上。 Fsutil:dirty 通过查询,查看是否设置了卷的坏区。设置卷的坏区。当一个卷的坏区设置后,在下次重新启动计算机时 autochk 自动检查卷错误 。 语法 fsutil dirty {query|set} PathName 参数 query 查询坏区。 set 设置卷的坏区。 
PathName 指定驱动器号(冒号分隔)、装入点或卷名。 
注释 如果设置了卷的坏区,则表明文件系统可能处于不一致的状态。由于下述原因可以设置坏区:卷已联机且发生了明显的变化,或对卷 作了更改,但在更改写入到磁盘前关闭了计算机,或者因为在卷上检测到损坏。如果重新启动计算机时设置了坏区,则运行 chkdsk 可以验证卷的一致性。 每次启动 Windows XP 时,内核程序将调用 Autochk.exe 扫描所有的卷,以查看是否设置了卷的坏区。如果设置了坏区,则 autochk 将立即在卷上执行 chkdsk /f。chkdsk /f 将验证文件系统的完整性并试图修复卷上的任何故障。 范例 要查询驱动器 C 上的坏区,请键入: fsutil dirty query C: 示例输出: 卷 C:已坏或 卷 C:未坏要设置驱动器 C 上的坏区,请健入: fsutil dirty set C: Fsutil:文件 主要由专业支持者使用。根据安全标识符查找文件、查询文件的分配范围、设置文件的简短名称、设置文件的有效数据长度、设置文 件的零数据,或创建新文件。 语法 fsutil file [createnew] PathName length fsutil file [findbysid] User PathName fsutil file [queryallocranges] offset=offset length=length PathName fsutil file [setshortname] PathName shortname fsutil file [setvaliddata] PathName datalength fsutil file [setzerodata] offset=offset length=length PathName 参数 createnew 
创建指定名称和大小的文件,该文件的内容由零组成。 PathName 指定驱动器号(冒号分隔)、装入点或卷名。 length 
指定文件的有效数据长度。 findbysid 查找属于特定用户的NTFS 卷上的文件。用户由自己的 SID(安全标识符)标识。 
User 指定用户名或登录名。 PathName 指定驱动器号(冒号分隔)、装入点或卷名。 
queryallocranges 查询 NTFS 卷上的文件分配范围。可用于确定文件是否具有稀疏区域。 offset=offset 
指定设置零的范围起始点。 length=length 指定范围长度(以字节表示)。 PathName 
指定驱动器号(冒号分隔)、装入点或卷名。 setshortname 设置NTFS 卷上文件的简短名称(8.3 字符长度文件名)。 
PathName 指定驱动器号(冒号分隔)、装入点或卷名。 shortname 指定文件简短名称。 
setvaliddata 设置 NTFS 卷上文件的有效数据长度。 PathName 指定驱动器号(冒号分隔)、装入点或卷名。 
datalength 指定文件长度(以字节表示)。 setzerodata 将文件范围(由 offset 和 length 指定)设置为零,从而使文件为空。如果是稀疏文件,则不需要基本分配单元。 offset=offset 指定文件偏移量和设置为零的范围起始点。 
length=length 指定设置为零的范围长度。 PathName 指定驱动器号(冒号分隔)、装入点或卷名。 
注释 使用 setvaliddata 在 NTFS 中,有两个关于文件长度的重要概念:文件尾 (EOF) 标记和有效数据长度 (VDL)。EOF 指定文件的实际长度。VDL 标识磁 盘上有效数据的长度。VDL 和 EOF 之间的任何读操作都将自动返回 0 以便保留 C2 对象重新使用要求。 只有管理员可以使用 setvaliddata 参数,因为该参数要求有“管理卷”的特权。只有高级多媒体和系统区域网络 (SAN) 环境才需 要使用该功能。 范例 要根据 SID 查找驱动器 C 上的用户 scottb,请键入: fsutil file findbysid scottb C:\users 要查询 NTFS 卷上的文件分配范围,请键入: fsutil file queryallocranges offset=1024 length=64 C:\Temp\sample.txt 要将驱动器 C 上的文件 longfilename.txt 设置为简短名称 longfile.txt,请键入: fsutil file setshortname C:\longfilename.txt longfile.txt 要设置 NTFS 卷上文件的有效数据长度,请键入: fsutil file setvaliddata C:\testfile.txt 4096 要将 NTFS 卷上文件的范围设置为零并使其为空,请键入: fsutil file setzerodata offset=100 length=150 C:\Temp\sample.txt Fsutil:fsinfo 主要由专业支持者使用。列出所有驱动器,查询驱动器类型,查询卷信息,查询特定的 NTFS 卷信息或文件系统统计信息。 语法 fsutil fsinfo [drives] fsutil fsinfo [drivetype] PathName fsutil fsinfo [ntfsinfo] RootPathName fsutil fsinfo [statistics] VolumePathName fsutil fsinfo [volumeinfo] RootPathName 参数 drives 列出计算机中所有的驱动器。 drivetype 
查询驱动器并列出其类型,如 CD-ROM 驱动器。 ntfsinfo 列出指定卷的 NTFS 特定卷信息,例如扇区数、簇总数、可用簇以及 MFT 区的起点和结尾。 statistics 列出指定卷的文件系统统计信息,例如元数据、日志文件和 MFT 读取和写入。 
volumeinfo 列出指定卷的信息,例如文件系统、卷是否支持大小写敏感的文件名、文件名中的 unicode 或磁盘配额。 
PathName 指定驱动器号(冒号分隔)、装入点或卷名。 RootPathName 指定根驱动器的驱动器号(后面接冒号)。 
VolumePathname 指定驱动器号(冒号分隔)、装入点或卷名。 范例 要查询驱动器 C 的驱动器类型,请键入: fsutil fsinfo drivetype C: 可能的结果为: 未知驱动器 没有这样的根目录 
可移动驱动器,如软驱 固定驱动器 远程/网络驱动器 CD-ROM 驱动器 Ram 磁盘 要查询卷 E 的卷信息,请键入: fsinfo volumeinfo E:\ 示例输出: 卷名: 卷系列号:0xd0b634d9 最大组件长度:255 文件系统名:NTFS 支持大小写敏感的文件名 保留文件名的大小写 支持文件名中的 Unicode 保留并加强 ACL 支持基于文件的压缩 支持磁盘配额 支持稀疏文件 支持重分析点 支持对象标识符 支持加密文件系统 支持带有名称的数据流 要查询 F 驱动器以获取特定 NTFS 卷信息,请键入: fsutil fsinfo ntfsinfo F:\ 示例输出: NTFS 卷系列号:0xe660d46a60d442cb 号扇区:0x00000000010ea04f 总簇:0x000000000021d409 可用簇:0x00000000000f222a 总保留数:0x0000000000003550 每扇区字节数:512 每簇字节数:4096 每文件记录片段字节数: 1024 每文件记录片段簇数:0 Mft 有效数据长度:0x0000000003eab000 Mft 启动长度:0x0000000000000004 Mft2 起点长度:0x000000000010ea04 Mft 区起点:0x0000000000003ea0 Mft 区结尾:0x0000000000004700 要查询驱动器 E 的文件系统统计信息,请键入: fsinfo statistics E: 示例输出: 文件系统类型:NTFS 版本:1 UserFileReads :75021 UserFileReadBytes :1305244512 UserDiskReads :71213 UserFileWrites :8037 UserFileWriteBytes :207685440 UserDiskWrites :5278 MetaDataReads :14377 MetaDataReadBytes :58888192 MetaDataDiskReads :14773 MetaDataWrites :18705 MetaDataWriteBytes :138108928 MetaDataDiskWrites : 21464 MftReads :9394 MftReadBytes :38477824 MftWrites :17061 MftWriteBytes :115359744 Mft2Writes :0 Mft2WriteBytes :0 RootIndexReads :0 RootIndexReadBytes :0 RootIndexWrites :0 RootIndexWriteBytes :0 BitmapReads :136 BitmapReadBytes :557056 BitmapWrites :1180 BitmapWriteBytes :11161600 MftBitmapReads :4 MftBitmapReadBytes :16384 MftBitmapWrites :118 MftBitmapWriteBytes :491520 UserIndexReads :2938 UserIndexReadBytes :12034048 UserIndexWrites :2738 UserIndexWriteBytes :20615168 LogFileReads :4 LogFileReadBytes :16384 LogFileWrites :8407 LogFileWriteBytes : 180936704 Fsutil:hardlink 硬连接就是某个文件的目录入口。每个文件都可认为至少有一个硬连接。在 NTFS 卷上,每个文件都有多个硬链接,所以一个文件可 能出现在多个目录中(甚至以不同的文件名出现在相同目录中)。既然所有的链接都引用同一个文件,所以程序能打开任意链接并修 改文件。只有当一个文件的所有链接都删除后,该文件才能从文件系统中删除。创建硬链接后,程序可以象使用其它文件名一样使用 它。 语法 fsutil hardlink create NewFilename ExistingFilename 参数 creat 
建立现有文件和新文件之间的 NTFS 硬链接。NTFS 硬链接与 POSIX 硬链接相似。 NewFilename 
指定要创建硬链接的文件。 ExistingFilename 
指定要创建硬链接的文件 Fsutil:volume 管理卷。卸下卷,或查看磁盘上的可用空间。 语法 fsutil volume [diskfree] drivename fsutil volume [dismount] VolumePathname 参数 diskfree 查询卷上的可用空间。 drivename 
指定驱动器号(后面接冒号)。 dismount 卸下卷。 VolumePathname 
指定驱动器号(冒号分隔)、装入点或卷名。 范例 要卸下驱动器 C 上的卷,请键入: fsutil volume dismount C: 要查询驱动器 C 上卷的可用空间,请键入: fsutil volume diskfree C:                                                    给大家个例子吧:
@echo off for /f "delims=" %%i in ('fsutil fsinfo drives^|find /v ""') do (    for /f "tokens=1,2* delims=\" %%n in ('fsutil fsinfo drivetype %%i^|find "固定驱动器"') do ( echo %%n )) pause
这样以来,各个盘符就分行显示啦
有人不懂find /v ""后的""是什么意思,我来解释一下: 如果只用fsutil fsinfo dreves的话所显示的结果中的各个盘符之间不是空格(例如:d:\ e:\)而是nul,在十六进制里面的空格应该是20,如图:
大家从图上可以清楚的看到各个盘符之间的代码是00也就是十六进制的nul,所以这就是find用""的意思,用了fsutil fsinfo drives|find /v ""后大家看图可以发现盘符之间的代码已经变以0A 0D啦,这两个代码在十六进制里面是同时用的也就是我们平时所说的回车换行,所以用了以后各个盘符自然就换行啦,大家懂了吗?
除了用find /v ""这外,还可以用more 两个的效果是一样的 fsutil fsinfo drives |more

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值