chkdsk.exe からゼロ以外の戻りコードを誘導するにはどうすればよいですか?

chkdsk.exe からゼロ以外の戻りコードを誘導するにはどうすればよいですか?

私は、NTFS セカンダリ データ ハード ディスク上で読み取り専用モードで chkdsk.exe を実行するなどのタスクを実行する基幹業務ユーティリティを作成しています。ユーティリティを完全にテストするには、これらのディスクの 1 つに、chkdsk がエラーとして検出する状態を誘発する必要があります。できれば、ディスク上の既存のデータを破壊しない方法で。これを行う最も簡単な方法は何ですか?

編集:

理想的には、これらのドライブの 1 つにダミーのテキスト ファイルを作成し、そのファイルを chkdsk が修正する必要があると判断するように変更したいと思います。ファイルを変更する方法がよくわかりません。

答え1

無効なコマンドラインを指定するだけです:

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

答え2

破損した(または疑似破損した)状態からファイルシステムをドライブとして確実にマウントできるものが必要だと思います。まず思いつくのはトゥルークリプト

  • TrueCrypt暗号化ファイルコンテナを作成する
  • マウントして、いくつかのファイルを保存します
  • chkdsk何らかの方法でそれらのファイルを台無しにしてください。または、フォーマットせずにそのままにしておくと、ゼロ以外の値を返すのに十分かもしれません。
  • 画像を保存する

これで、スクリプトはイメージのコピーを作成し、そのコピーをマウントし、chkdsk で修復を試み、その後イメージを消去できるようになります。

関連情報