如何从 chkdsk.exe 中获取非零返回代码?

如何从 chkdsk.exe 中获取非零返回代码?

我正在编写一个业务线实用程序,它将在 NTFS 辅助数据硬盘上以只读模式运行 chkdsk.exe,以及其他任务。为了全面测试我的实用程序,我需要在其中一个磁盘上引入一种状态,chkdsk 会将其检测为错误……最好以不破坏磁盘上现有数据的方式进行。最简单的方法是什么?

编辑:

理想情况下,我想在其中一个驱动器上创建一个虚拟文本文件,然后弄乱该文件,让 chkdsk 认为它需要修复。我不确定如何弄乱文件。

答案1

您可以简单地给出一个无效的命令行:

c:\>chkdsk FailPlease
The drive, the path, or the file name is not valid.
c:\>echo %ERRORLEVEL%
3

答案2

我认为你需要一种能够可靠地将文件系统从损坏(或伪损坏)状态挂载为驱动器的东西。我首先想到的是TrueCrypt

  • 创建TrueCrypt加密文件容器
  • 安装它,并在其上存储一些文件
  • 以某种方式弄乱这些文件。或者只是保持其未格式化,这可能足以chkdsk返回非零值。
  • 保存图像

现在您的脚本可以复制图像,挂载该副本,让 chkdsk 尝试修复,然后将您的图像删除。

相关内容