| |
VB.NET - Ein- und UmsteigerNet-Framework: Beschädigte Dateien löschen | | | Autor: Manfred X | Datum: 14.05.18 16:42 |
| Hallo!
Wegen einer kurzfristigen Unterspannung im Stromnetz
ist eine externe Festplatte während des Betriebs
abgestürzt.
Dabei entstand eine "beschädigte Datei" (NTFS-Dateisystem),
die mit Windows-Methoden (Win 10) nicht umbenannt, verschoben oder
gelöscht werden kann.
Auch die Framework-Methode "System.IO.File.Delete" scheitert,
löst dabei aber keine Ausnahme aus (FW 4.6).
VB-spezifische Methoden wie z.B. "Kill" scheitern auch, werfen
aber eine (irreführende) Ausnahme: Datei nicht gefunden.
Kennt jemend eine Net-Bibliothek, die Methoden zur Bearbeitung
von Files enthält, die ggf. die korrekte Ausnahme "beschädigte Datei"
auslösen (z.B. entsprechend dem Verhalten des Windows-Explorers)?
(Nach Reparatur des Fehlers im Dateisystem ist die beschädigte Datei
natürlich wieder verfügbar. Aber NTFS-Korrektur ist hier nicht das Thema.)
Danke für Euer Interesse. | |
Re: Net-Framework: Beschädigte Dateien löschen | | | Autor: Franki | Datum: 15.05.18 01:52 |
| Hallo ManfredX
helfen kann ich dir da nicht. Aber ich habe zu diesem Problem ein paar Fragen:
NTFS Reparatur wäre mein erster Lösungsvorschlag gewesen, warum scheidet der bei dir aus?
Was hat es mit der "Unterspannung" auf sich?
Alle Werbeaussagen von Steckdosen Herstellern überschlagen sich, dass sie gegen Überspannung (z.B. Blitzeinschlag usw.) abgesichert sind, bei Unterspannung fällt mir spontan nur "Stromausfall" ein, dafür habe ich USV.
Was passiert denn, wenn du versuchst die entsprechende Datei aus einer Datensicherung zu kopieren? Ich vermute mal, dass das auch nicht klappt. (Also nur die Datei nicht den ganzen Rechner)
Ich bin gespannt, ob es andere Antworten gibt, vermute aber, dass das nicht funktionieren wird. Denn Wenn es bei gestartetem Windows und darauf aufsetztenden Programmen nicht geht, hilft halt immer nur die Direktmethode über das NTFS Dateisystem. Das war schon bei Win 3.1 so
Gruß und viel Erfolg,
Frank | |
Re: Net-Framework: Beschädigte Dateien löschen | | | Autor: Manfred X | Datum: 15.05.18 11:58 |
| Hallo!
Zur kurzfristigen Unterspannung im Stromnetz kam es wegen
eines Defekts in einem Verteilerkasten des Netzbetreibers.
Zugriff auf Datensicherung ist in dem Fall nicht erforderlich,
weil diese Datei im Erstellungsprozeß beschädigt worden ist.
Es gibt bekanntlich eine Reihe von Gründen, die zu einem Fehler im
Dateisystem führen können. Deswegen sollten Anwendungen erkennen
und melden können, wenn sie bei der Bearbeitung auf NTFS-Probleme
stoßen.
Das Verhalten der üblicherweise verwendeten Framework-Methoden
scheint in solchen Fällen unbefriedigend zu sein. | |
Re: Net-Framework: Beschädigte Dateien löschen | | | Autor: minimalist | Datum: 16.05.18 09:00 |
| Was heißt beschädigt? Wie soll ein program, das den file nicht erstellt hat, raus finden ob die binary data beschädigt ist - das heist geändert vom original? | |
Re: Net-Framework: Beschädigte Dateien löschen | | | Autor: Manfred X | Datum: 16.05.18 09:11 |
| Hallo!
"Beschädigung" bezieht sich nicht auf eine Änderung des Datei-INHALTS,
sondern um gescheiterte Zugriffe als Folge von Fehlern im NTFS-Dateisystem
(z.B. Clusterzuordnung, Einträge in der MasterFileTable, Sicherheits-
einstellungen), die durch Soft- oder Hardware-Probleme entstehen können. | |
Re: Net-Framework: Beschädigte Dateien löschen | | | Autor: Kuno60 | Datum: 16.05.18 20:03 |
| Hallo Manfred,
möglicherweise ist nicht nur die Datei beschädigt, sondern auch der Pfad.
Zitat: | | Auch die Framework-Methode "System.IO.File.Delete" scheitert,
löst dabei aber keine Ausnahme aus (FW 4.6).
VB-spezifische Methoden wie z.B. "Kill" scheitern auch,
werfen aber eine (irreführende) Ausnahme: Datei nicht gefunden. | |
Das Framework löscht Dateien mit "DeleteFile" der "Kernel32.dll".
Diese Funktion würde wahrscheinlich auch den Fehler: FILE_NOT_FOUND liefern, denn dies ist der einzigste Fehler, der bei der Funktion "System.IO.File.Delete" unterdrückt wird.
"System.IO.File.Exists", liefert bestimmt False, oder?
Möglicherweise kann die Datei mit dem DOS-Befehl: DEL gelöscht werden.
Ich denke aber eher, das erst Checkdisk ausgeführt werden muss, damit die Dateizuordnung wieder hergestellt wird. | |
Re: Net-Framework: Beschädigte Dateien löschen | | | Autor: Manfred X | Datum: 17.05.18 07:46 |
| Hallo!
Das ist schon klar.
Wenn ich mal Zeit dafür habe, suche ich nach einer Windows-API,
die geeignet ist, um auch die NTFS-Ausnahmen an Framework-
Anwendungen weiterzugeben. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|