Wie kann ich von chkdsk.exe einen Rückgabecode ungleich Null erhalten?

Wie kann ich von chkdsk.exe einen Rückgabecode ungleich Null erhalten?

Ich schreibe ein Branchendienstprogramm, das unter anderem chkdsk.exe im Nur-Lese-Modus auf sekundären NTFS-Datenfestplatten ausführt. Um mein Dienstprogramm vollständig testen zu können, muss ich auf einer dieser Festplatten einen Zustand herbeiführen, den chkdsk als Fehler erkennt ... vorzugsweise auf eine Weise, die vorhandene Daten auf der Festplatte nicht zerstört. Was ist der einfachste Weg, dies zu tun?

Bearbeiten:

Am liebsten würde ich auf einem dieser Laufwerke eine Dummy-Textdatei erstellen und diese Datei dann so durcheinanderbringen, dass chkdsk denkt, sie müsse repariert werden. Ich bin mir nicht sicher, wie ich eine Datei durcheinanderbringen soll.

Antwort1

Sie können einfach eine ungültige Befehlszeile eingeben:

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

Antwort2

Ich denke, Sie möchten etwas, das das Dateisystem zuverlässig als Laufwerk aus einem beschädigten (oder pseudo-beschädigten) Zustand mounten kann. Das Erste, was mir in den Sinn kommt, istTrueCrypt

Jetzt kann Ihr Skript eine Kopie des Images erstellen, die Kopie mounten, chkdsk die Reparatur versuchen lassen und dann Ihr Image löschen.

verwandte Informationen