Hallo halbsowild und Elefunty!
Leider weiß ich nicht, wie ich Euch antworten soll im Forum, ich probiers mal so..
Also, das Script regschnueffler.vbs ist eine nützliche Sache zum Durchsuchen der Registry nach bestimmten Begriffen, deren Vorkommen dann aufgelistet werden und - bis zum Auftreten des besagten Fehlers - auch optional als Textdatei abgespeichert werden können.
Das komplette Script hier:
Option Explicit
Dim oWS : Set oWS = CreateObject("WScript.Shell")
Dim oFSO : Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim sSearchFor
sSearchFor = InputBox("Dieses Programm durchsucht deine Registrier- " & _
"ungsdatenbank, um alle Vorkommen des eingegebenen" & _
" Ausdrucks zu finden." & vbcrlf & vbcrlf & _
"Bitte warten, dies kann evtl. einige Minuten dauern." & _
vbcrlf & vbcrlf & "Gib den gesuchten Ausdruck ein und " & _
"klick OK...", WScript.ScriptName & " " & Chr(169) & " Sö")
If sSearchFor = "" Then Cleanup()
Dim StartTime : StartTime = Timer
Dim sRegTmp, sOutTmp, eRegLine, iCnt, sRegKey, aRegFileLines
sRegTmp = oWS.Environment("Process")("Temp") & "\RegTmp.tmp "
sOutTmp = oWS.Environment("Process")("Temp") & "\sOutTmp" & _
Hour(Now) & Minute(Now) & Second(Now) & ".tmp "
oWS.Run "regedit /e /a " & sRegTmp, , True '/a enables export as Ansi for WinXP
With oFSO.OpenTextFile(sOutTmp, 8, True)
.WriteLine("REGEDIT4" & vbcrlf & "; " & WScript.ScriptName & " " & _
Chr(169) & " Sö" & vbcrlf & vbcrlf & "; Ergebnisse - " & _
"Registry-Suche nach " & Chr(34) & sSearchFor & Chr(34) & " " & Now & _
vbcrlf & vbcrlf & "; Die Datei wird beim Schließen gelöscht, " & _
"ALSO:" & vbcrlf & "; Speichere die Datei in einem Verzeichnis " & _
"deiner Wahl zur weiteren Nutzung." & vbcrlf & "; (Wenn du sie als .reg-Datei speicherst, " & _
"kannst du die Einstellungen erneut in die Registry schreiben oder " & vbcrlf & "; diese Änderungen an den aufgelisteten Werten zurücksetzen, " & _
"indem du vor den Schlüssel in die eckige Klammer ein - setzt.)" & vbcrlf)
With oFSO.GetFile(sRegTmp)
aRegFileLines = Split(.OpenAsTextStream(1, 0).Read(.Size), vbcrlf)
End With
oFSO.DeleteFile(sRegTmp)
For Each eRegLine in aRegFileLines
If InStr(1, eRegLine, "[", 1) > 0 Then sRegKey = eRegLine
If InStr(1, eRegLine, sSearchFor, 1) > 0 Then
If sRegKey <> eRegLine Then
.WriteLine(vbcrlf & sRegKey) & vbcrlf & eRegLine
Else
.WriteLine(vbcrlf & sRegKey)
End If
iCnt = iCnt + 1
End If
Next
Erase aRegFileLines
If iCnt < 1 Then
oWS.Popup "Suche beendet nach " & FormatNumber(Timer - StartTime, 0) & " Sekunden." & _
vbcrlf & vbcrlf & "Kein Vorkommen von " & chr(34) & sSearchFor & chr(34) _
,, WScript.ScriptName & " " & Chr(169) & " Sö", 4096
.Close
oFSO.DeleteFile(sOutTmp)
Cleanup()
End If
.Close
End With
oWS.Popup "Suche beendet nach " & FormatNumber(Timer - StartTime, 0) & " Sekunden." & _
vbcrlf & vbcrlf & iCnt & " Vorkommen von" & chr(34) & sSearchFor & chr(34) & _
" gefunden." & vbcrlf & vbcrlf & "Klick OK für die Textdatei.",, _
WScript.ScriptName & " " & Chr(169) & " Sö", 4096
oWS.Run "Wordpad.exe" & sOutTmp, 3, True
oFSO.DeleteFile(sOutTmp)
Cleanup()
Sub Cleanup()
Set oWS = Nothing
Set oFSO = Nothing
WScript.Quit
End Sub
***********************************************************
Die Zeile mit dem Fehler nochmal:
oWS.Run "Wordpad.exe" & sOutTmp, 3, True
Ich vermute, daß es mit dem wordpad zusammenhängt, aber ich weiß nicht weiter.
Danke für alle helfenden Ideen!
Klammi