[TOC]
描述:FSutil命令显示或配置文件系统的属性;
基础用法:
fsutil
# ---- 支持的命令 ----
8dot3name 8dot3name 管理
behavior 控制文件系统行为
dirty 管理卷的已损坏位数
file 文件特定命令
fsinfo 文件系统信息
hardlink 硬链接管理
objectid 对象 ID 管理
quota 配额管理
repair 自疗管理
reparsepoint 重分析点管理
resource 事务资源管理器管理
sparse 稀疏文件控制
transaction 事务管理
usn USN 管理
volume 卷管理
基础详解:
File参数:
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---指定用户名或登录名
queryallocranges---查询 NTFS 卷上的文件分配范围。可用于确定文件是否具有稀疏区域。
offset=offset---指定设置零的范围起始点,指定文件偏移量和设置为零的范围起始点.
length=length ---指定范围长度(以字节表示)
setshortname---设置NTFS 卷上文件的简短名称(8.3 字符长度文件名)
shortname---指定文件简短名称
setvaliddata---设置 NTFS 卷上文件的有效数据长度
datalength---指定文件长度(以字节表示)
setzerodata---将文件范围(由 offset 和 length 指定)设置为零,从而使文件为空。如果是稀疏文件,则不需要基本分配单元
注释:
基础案例:
#1.创建一个大小为300字节的new.txt
fsutil file createnew new.txt 300
#2.要根据 SID 查找驱动器 C 上的用户 scottb
fsutil file findbysid scottb C:\users
#3.new文件的ID获取
fsutil file queryfileid new.txt
#4.new文件的随机链接名称获取
fsutil file queryfilenamebyid E:\ 0x002e0000000001a1
#5.设置windows文件夹为区分大小写的命令 (用disable关闭区分大小写)
fsutil.exe file SetCaseSensitiveInfo 'F:\aaa' enable
WeiyiGeek.
fsinfo参数
#1.获得各个驱动器盘符
fsutil fsinfo drives
驱动器: C:\ D:\ E:\ F:\ G:\
#2.驱动器的类型
fsutil fsinfo drivetype d:
#d: - 固定驱动器
fsutil fsinfo drivetype G:
#G: - CD-ROM 驱动器
#可能的结果为
* 未知驱动器
* 没有这样的根目录
* 可移动驱动器,如软驱
* 固定驱动器
* 远程/网络驱动器
* CD-ROM 驱动器
* Ram 磁盘
#3.系统统计
fsutil fsinfo statistics D:
WeiyiGeek.
#4.要查询 F 驱动器以获取特定 NTFS 卷信息
fsutil fsinfo ntfsinfo F:\
WeiyiGeek.
dirty参数
#语法:
fsutil dirty {query|set} PathName
#参数:
query 查询坏区
set 设置卷的坏区
PathName 指定驱动器号(冒号分隔)、装入点或卷名
基础示例:
#1.要查询驱动器 C 上的坏区,请键入
fsutil dirty query C:
# 示例输出:
# 卷 C:已坏或
# 卷 C:未坏要设置驱动器 C 上的坏区
WeiyiGeek.
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 freqncy|mftzoneval}]
参数:
基础示例:
#1.查询内存得使用
fsutil behavior query memoryUsage
WeiyiGeek.
hardlink参数
描述:等同于Linux中得ln命令建立得硬链接,硬连接就是某个文件的目录入口,每个文件都可认为至少有一个硬连接。
在 NTFS 卷上每个文件都有多个硬链接
,所以一个文件可能出现在多个目录中(甚至以不同的文件名出现在相同目录中)。
既然所有的链接都引用同一个文件,所以程序能打开任意链接并修改文件,只有当一个文件的所有链接都删除后,该文件才能从文件系统中删除
。
基础语法:
fsutil hardlink create NewFilename ExistingFilename
#参数
creat 建立现有文件和新文件之间的 NTFS 硬链接,NTFS 硬链接与 POSIX 硬链接相似。
NewFilename 指定要创建硬链接的文件
ExistingFilename 指定要创建硬链接的文件
基础示例:
#创建硬链接
fsutil hardlink create ChangeLinuxCommand1.bat ChangeLinuxCommand.bat
WeiyiGeek.
volume参数 描述:管理卷卸下卷或查看磁盘上的可用空间。 基础语法:
fsutil volume [diskfree] drivename
fsutil volume [dismount] VolumePathname
diskfree 查询卷上的可用空间
dismount 卸下卷
drivename 指定驱动器号(后面接冒号)
VolumePathname 指定驱动器号(冒号分隔)、装入点或卷名
基础示例:
#1.要卸下驱动器 C 上的卷,请键入:
fsutil volume dismount C:
#2.要查询驱动器 C 上卷的可用空间,请键入:
fsutil volume diskfree C:
WeiyiGeek.
8dot3name参数 描述:对于文件得短名称得处理; 基础示例:
#如果从此路径中删除了短名称,此命令会扫描指定的目录路径,查找可能会受影响的注册表项
fsutil 8dot3name scan </s> </l log file> </v> DirectoryPath
/s - 递归模式 - 指定还应将此操作应用于子目录
/v - 详细模式 - 指定还应将所有记录的信息打印到控制台
/l - 指定要写入的日志文件。后面必须加上指向日志文件的路径
#如果未指定此选项,日志文件将为:"%temp%\8dot3_removal_log@(GMT YYYY-MM-DD HH-MM-SS).log"
基础示例:
# 1.在系统上查询当前设置的短名称行为
FSUTIL 8dot3name query
# 注册表状态为: 2 (按卷设置 - 默认值)
# 2.示例命令
fsutil 8dot3name scan /l mylogfile.log /s D:\MyData
WeiyiGeek.
补充示例:除了用find /v “”这外,还可以用more 两个的效果是一样的
#如果只用fsutil fsinfo dreves的话所显示的结果中的各个盘符之间不是空格(例如:d:\ e:\)而是nul,在十六进制里面的空格应该是20,如图:
#大家从图上可以清楚的看到各个盘符之间的代码是00也就是十六进制的nul,所以这就是find用""的意思,用了fsutil fsinfo drives|find /v ""
fsutil fsinfo drives |more #盘符之间的代码已经变以0A 0D (回车换行)
* fsutil fsinfo drives | find /v ""
WeiyiGeek.
描述:保存当前目录以供 POPD 命令使用,然后改到指定的目录 语法:
PUSHD [path | ..]
#参数:
path 指定要成为当前目录的目录。
如果命令扩展被启用,除了一般驱动器号和路径,PUSHD命令还接受网络路径。
如果指定了网络路径,PUSHD 将创建一个指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器号更改当前的驱动器和目录。
可以从 Z: 往下分配临时驱动器号,使用找到的第一个没有用过的驱动器号。
描述:更改到 PUSHD 命令存储的目录 POPD
如果命令扩展被启用,从推目录堆栈 POPD 驱动器时,POPD命令会删除 PUSHD 创建的临时驱动器号。
案例:
pushd %systemroot%
>cd /d f:\WizNote\temp\c72affac-c61b-4c46-8e83-6587ecd57296
f:\WizNote\temp\c72affac-c61b-4c46-8e83-6587ecd57296>popd
C:\Windows>cd
WeiyiGeek.
描述:可以通过标准输出或者输入将字符串复制到windows缓冲区中即 Windows 剪贴板;
基础示例:
#描述:将命令行工具的输出重定向到 Windows 剪贴板。这个文本输出可以被粘贴
DIR | CLIP #将一份当前目录列表的副本放入 Windows 剪贴板。
CLIP < README.TXT # 将 readme.txt 的一份文本放入 Windows 剪贴板。