Hallo,
ich füge unten mal eine .vbs-Datei ein, die überprüft, ob Deine .cab-Dateien bzw. deren Inhalt für scanreg.exe überhaupt brauchbar sind.
Sind einzelne Dateien einer .cab-Datei nicht brauchbar, meldet sich die .vbs, ob Du diese .cab-Datei löschen willst oder nicht.
Ich würde sagen, laß diese .vbs mal durchlaufen. Werden Fehler gemeldet, entsprechende Datei nicht löschen, sondern nur den Dateinamen notieren. Danach kannst Du dann mal testen, wieviel Deiner .cab-Dateien überhaupt brauchbar sind. Danach sehen wir weiter.
Dateinamen: checkrc.vbs
----------------ab hier kopieren
Set fs=WScript.CreateObject(Scripting.FileSystemObject)
Set WshShell = Wscript.CreateObject(Wscript.Shell)
Set WshSysEnv = WshShell.Environment(PROCESS)
WinFolder = WshSysEnv(windir)
BackupFolder = WinFolder + \SYSBCkUP
CheckFiles BackupFolder
Sub CheckFiles(folderspec)
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
if (UCASE(fs.GetExtensionName(f1.name))=UCASE(CAB)) and (UCASE(left(f1.name,2))=RB) then
Set datei = fs.OpenTextFile(f1.path)
lies = datei.Read(48)
lies = datei.Read(1)
datei.close
if Asc(lies)=0 then
s = f1.name + ist defekt. + vbCrLf + Soll diese Datei gelöscht werden?
resultat = WshShell.Popup(s,, Löschen?, vbQuestion + vbYesNo)
if resultat=6 then
fs.DeleteFile f1.path, TRUE
MsgBox Datei wurde gelöscht!
else
s = Solange die Datei + f1.name + existiert, funktioniert SCANREG /RESTORE nicht. + vbCrLf
s = s + Benennen Sie die Datei um, wenn Sie sie behalten wollen, oder löschen Sie sie!
MsgBox s
end if
end if
end if
next
end sub
-------------------bis hier kopieren
Öffne mit Notepad eine leere Textdatei, kopiere die Daten von hier rein, dann Datei speichern und schließen; danach noch einen Namen vergeben mit der Endung .vbs (muß sein).
Doppelklick auf diese Datei und Dein Ordner Sysbckup wird überprüft.
MfG maneich