Win10-Batch: div. Fragen zur Entwicklung einer chkdsk Batch

Mitglied: alex76

alex76 (Level 1) - Jetzt verbinden

03.03.2021, aktualisiert 15:34 Uhr, 368 Aufrufe, 1 Kommentar

Hallo Zusammen,

ich entwickle derzeit für meinen Privatgebrauch und Freunde eine Disk-Management-Batch (chkdsk, defrag, stordiag, sdelete) nach dem NTFS-Health-Modell mit optimierten Befehlszeilen.

Hierzu habe ich ein paar Verständnisfragen:

I. chkdsk (nur NTFS) Parameter /spotfix:

Mein Plan ist es "chkdsk %_DriveLetterX% /V /sdcleanup /spotfix" optimal nutzen zu können, wobei %_DriveLetterX% ein vom User im Vorfeld eingegebener Laufwerksbuchstabe ist (z.B. "C:"). "Geplante Optimierung" (in dfrgui.exe) ist ausgeschaltet. Spotfix greift auf vorherig protokollierte Scanergebnisse zurück und führt eine Reparatur anhand der protokollierten Fehler durch anstatt jede Datei einzeln zu prüfen und führt somit zur Reparatur in höchstmöglicher Geschwindigkeit. Nun wüsste ich gerne explizit, ob ein im Vorfeld ausgeführtes

hierzu ausreicht oder ob ich



benötige, um die Fehler schon vorab für die Offline-Reparatur einzustellen. Oder wäre das sogar doppelt, da ja auch /spotfix eine Aufgabe für die Offlinereparatur anlegt? Im Netz finde ich sehr widersprüchliche Informationen hierzu und selbst kann ich es derzeit nicht testen, da keine Fehler vorhanden sind und somit keine Einstellung für den Offline-Fix erfolgt.

II. Fixierung eines Volumes in der Registrierung, dessen Laufwerksbuchstabe via Batch zugeteilt wurde

Das Programm soll die Möglichkeit bieten, "versteckten" Volumes einen Laufwerksbuchstaben zuzuteilen, um diese auch optimieren zu können. Bei mir sind das die Recovery und die System Partition. Ja ich habe die Recovery wieder ausgelagert, da ich winre.wim mit eingebautem DaRT10 als RAM-Disk laufen lasse und so beim Booten via Startmenü aufrufen kann. :-) face-smile
%_DriveLetter% ist der Laufwerkbuchstabe ohne ":".
Der erste Schritt hierfür ist:


Allerdings ist mir aufgefallen, dass wmic den Laufwerksbuchstaben nach erfolgter Diskpart-Zuweisung trotzdem nicht findet. Vermute es liegt an der fehlenden Fixierung des Laufwerksbuchstabens in der Registrierung unter \HKLM\SYSTEM\MountedDevices. Gibt es eine Möglichkeit, diese über cmd manuell nachzuholen, ohne Gefahr zu laufen, sich die Zuweisung zu zerschießen?

Beispielsweise indem ich die Fixierung einmal in der Datenträgerverwaltung manuell erledige, um dann die Fixierungsbinary ( bspw. \\DosDevices\\R:) face-smile als .reg zu exportieren, um diese dann in der Batch via
wieder hinzufügen zu können?

Die .reg sähe so aus:


Könnte ich diese also gefahrlos einfach importieren und wie wieder entfernen?
Oder via reg
?

III. Chkdsk nach volume GUID:

Ich könnte chkdsk auch über die volume GUID anstatt Laufwerksbuchstaben laufen lassen.
Die Bereitstellungspunkte bekomme ich via:
. Hierzu müsste ich nach "Label" suchen und mir die DeviceID ausgeben lassen.

Wie kann ich hierfür eine FOR /F Schlaufe nutzen, die nach der Variable %_LabelX% (die Laufwerksbezeichnung) sucht und mir die DeviceID (ohne letzten Backslash \!) in die neue Variable %_DeviceIDX% ausgibt? Das bekomme ich nicht hin :( face-sad

EDIT:
Ich möchte als Ergebnis der FOR /F Schleife
\\?\Volume{4e0a0d00-0000-0000-0002-000000000000} anstatt
\\?\Volume{4e0a0d00-0000-0000-0002-000000000000}\
Kann man so eine Zeichenfolge überhaupt als Variable speichern? Bekomme bei Echo %_DeviceIDX% nun immer "ECHO ist ausgeschaltet (OFF)." anstatt den Inhalt der Variable.

Vielen Dank für die Hilfe!
Die fertige Batch stelle ich gerne zur Verfügung, wenn fertig.
Mitglied: alex76
03.03.2021 um 17:00 Uhr
Hmmm zu Frage III ist mir eine ganz umständliche aber funktionierende Variante über einen Text-Export eingefallen. Ich habe mal HDD1 als Laufwerksbezeichnung per Hand eingetippt, um zu testen:


Geht das auch einfacher?
Bitte warten ..
Heiß diskutierte Inhalte
Weiterbildung
Das Impostersyndrom oder: "Was kann ich eigentlich?"
AnduinVor 1 TagFrageWeiterbildung7 Kommentare

Werte Mitadmins, ich würde mich heute gerne mit einem mir wichtigen Thema an euch wenden. Ich bin 40 Jahre alt und seit 21 Jahren ...

Microsoft
Meine Gruppenrichtlinie wird nicht angewendet oder ich bin zu dumm
gelöst RandonDudeVor 1 TagFrageMicrosoft16 Kommentare

Hallo zusammen, ich bin Hobby-Admin für einen Versicherungsmakler. Wir haben ein Active Directory im Einsatz. Ich möchte verhindern, dass sich Benutzer an PCs anmelden, ...

Off Topic
Ein Weg weg von Microsoft. Wie würde man es angehen? Lasst uns doch etwas spinnen
it-fraggleVor 6 StundenAllgemeinOff Topic20 Kommentare

Guten Morgen Kollegen, es treibt mich schon seit einigen Jahren um, dass es sinnvoll wäre langsam einen Weg weg von Microsoftprodukten zu finden. Mir ...

Windows 10
Dokumentenanzeige auf 2.Bildschirm
gelöst Rico.lehmann93Vor 1 TagFrageWindows 107 Kommentare

Hey Leute, ein Kunde von uns sucht eine Möglichkeit Mietverträge dem Kunden auf einem Bildschirm anzeigen zu lassen. Auf dem Bildschirm soll aber wirklich ...

Windows Server
Igel + Terminalserver + VoIP + Softphone
Asgard-LokiVor 1 TagFrageWindows Server13 Kommentare

Gude Kolleginnen und Kollegen, ich habe da mal eine Frage zu einem Thema was für mich relativ neu ist. Wir wollen unsere Telefonie gerne ...

Batch & Shell
Wieso funktioniert das nicht?
gelöst Hundy132Vor 1 TagFrageBatch & Shell10 Kommentare

Hallo Freunde, kann mir irgendjemand sagen wieso meine Batch datei nicht funktioniert? So sieht Sie aus: Hier soll ein ein vorgegebenes Passwort Eingegeben werden ...

Windows Server
Zwei Netzwerkkarten im Server
gelöst Big.TurboladerVor 1 TagFrageWindows Server4 Kommentare

Hallo allerseits, ich habe ein Windows Server 2016 in einer VM erstellt um mein Wissen zu erweitern. Doch jetzt hänge ich an einem Problem ...

Server-Hardware
HPE ProLiant MicroServer Gen10 Plus - Wo wird das OS installiert?
mayho33Vor 18 StundenFrageServer-Hardware12 Kommentare

Hallo @ All, Ich liebäugle mit einem neuem Server (siehe Überschrift). Mein alter Gen8 ist zwar immer noch am laufen, aber es gibt einiges ...