对于这个命令的作用,类似于磁盘右键属性->工具中的磁盘检查与碎片整理的功能.



1 D:\>chkdsk /?
 2 检查磁盘并显示状态报告。
 3 
 4 
 5 CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]
 6 
 7 
 8   volume          指定驱动器(后面跟一个冒号)、装入点
 9                   或卷名。
10   filename        仅用于 FAT/FAT32: 指定要检查是否有碎片的文件。
11   /F              修复磁盘上的错误。
12   /V              在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。
13                    在 NTFS 上: 如果有清除消息,将其显示。
14   /R              查找不正确的扇区并恢复可读信息(隐含 /F)。
15   /L:size       仅用于 NTFS:  将日志文件大小改成指定的 KB 数。
16                     如果没有指定大小,则显示当前的大小。
17   /X               如果必要,强制卷先卸下。
18                     卷的所有打开的句柄就会无效(隐含 /F)。
19   /I                仅用于 NTFS: 对索引项进行强度较小的检查。
20   /C               仅用于 NTFS: 跳过文件夹结构的循环检查。
21 
22 /I 和 /C 命令行开关跳过卷的某些检查,减少运行 Chkdsk 所需的时间。



命令的参数比较多,不带参数则是检查.



1 rem 不带参数则默认检查当前盘,如有错误会被列出
 2 D:\>chkdsk
 3 文件系统的类型是 NTFS。
 4 卷标是 SOFT。
 5 
 6 警告! 没有指定  F 参数
 7 用只读模式运行 CHKDSK。
 8 
 9 CHKDSK 正在校验文件(3 的阶段 1)...
10 文件校验完成。00。
11 CHKDSK 正在校验索引(3 的阶段 2)...
12 ^C成了百分之 0。



检查完后会返回退出码,意义如下:



1 0 没有发现错误。 
2 1 错误已找到并修复。 
3 2 已执行清理磁盘(例如碎片收集),或者因为没有指定 /f 而未执行清理磁盘。 
4 3 由于未指定 /f 选项,无法检查磁盘,错误不能修复或错误未修复。



当磁盘发生一些错误,例如svn目录结构层次太深有导致无法导出数据等状况,可以用chkdsk来进行修复,就是/f参数的作用了.



1 D:\>chkdsk d:/f
 2 文件系统的类型是 NTFS。
 3 无法锁定当前驱动器。
 4 
 5 由于该卷正在被另一个过程使用,Chkdsk 不能运行。
 6 如果先卸下该卷,Chkdsk 也许可以运行。
 7 该卷所有已打开的句柄将会无效。
 8 要强制卸下该卷吗? (Y/N)
 9 由于该卷正在被另一个过程使用,Chkdsk 不能运行。
10 如果先卸下该卷,Chkdsk 也许可以运行。
11 该卷所有已打开的句柄将会无效。
12 要强制卸下该卷吗? (Y/N)
13 因为另一个过程正在使用这个卷,无法运行 Chkdsk。
14 是否计划在下次系统重新启动时检查这个卷? (Y/N)



在检查时,磁盘文件会被锁定,即不能对检查中的磁盘作任何访问.

实际上,这个命令在批处理中用到的还是比较少的.

OK,此篇完结.