01.04.2023 Kein Aprilscherz, Chat  GPT maximiert Code in VBS zum Suchen und Ersetzen von Wörtern in Textdateien oder HTML Dateien

Es ist ja nun bekannt, dass Bing in Version 11 von Windows Chat GPT benutzt. Nach stundenlangen suchen fand ich gestern bei Administrator.de ein VB-Script, dass ich für eine Suche von Text und dessen Ersetzung in Text und HTML-Seiten einsetzen wollte. Der VB-Experte Bastla vom o. a. Forum hatte auch  ein Script für Textdateien kreiert, dass dieser Aufgabe gewachsen war. Problem: Dieses Script  ersetzt in sämtlichen textbasierten Dateien  Wörter, also auch in HTML-Dateien z. B..

Da ich selbst den Code nicht anpassen konnte nahm ich die versuchsweise die Hilfe von ChatGPT von Bing in Anspruch mit einem erstaunlich guten Resultat:


Folder = "C:\Users\manfr\Desktop\test\textloeschenvbs"
LookFor = "gut"
ReplaceBy = "schlecht"

Set fso = CreateObject("Scripting.FileSystemObject")
For Each File In fso.GetFolder(Folder).Files
    If LCase(Right(File.Name, 4)) = ".htm" Or LCase(Right(File.Name, 5)) = ".html" Then
        T = fso.OpenTextFile(File.Path).ReadAll
        If InStr(T, LookFor) > 0 Then
            fso.CreateTextFile(File.Path).Write Replace(T, LookFor, ReplaceBy)
        End If
    End If
Next

Dieses kleine Script ersetzt nur in HTML Dateien die Suchwörter in einem Verzeichnis. Sämtliche HTM und HTML-Dateien werden durchsucht. Das ganze kann man auch mit Textdateien machen, wenn man in der 13 Zeile z. B.
If LCase(Right(File.Name, 4)) = ".txt"  Then schreibt  (die letzen vier Zeichen der Datei, also Punkt und t x t werden verglichen).

An dieser Stelle muss ich leider ein Zitat von vier Zeilen machen, um zu zeigen wie ChatGPT den Code verändert hat. Hier also der Code von Bastla von Administrator.de (ich bin überzeugt, dass dieses kompetente Mitglied von Administrator.de auch die Lösung meiner Frage spielend leicht geschafft hätte):
Nicht lauffähiger Code, da nur letzte 4 Zeilen zum vergleich:

...For Each File In fso.GetFolder(Folder).Files
    T = fso.OpenTextFile(File.Path).ReadAll
    fso.CreateTextFile(File.Path).Write Replace(T, LookFor, ReplaceBy)
Next
Lauf fähiger Code bei
Administrator.de

Zitatende
zum Vergleich die Zeilen von Chat GPT von Bing:

For Each File In fso.GetFolder(Folder).Files
    If LCase(Right(File.Name, 4)) = ".htm" Or LCase(Right(File.Name, 5)) = ".html" Then
        T = fso.OpenTextFile(File.Path).ReadAll
        If InStr(T, LookFor) > 0 Then
            fso.CreateTextFile(File.Path).Write Replace(T, LookFor, ReplaceBy)
        End If
    End If
Next


Vorsicht nicht lauffähiger Code nur die letzten Zeilen zum Vergleich!
GPT hat also zwei Bedinungen Bedingungen aus dem Ursprungscode erstellt und die Suche auf html bzw. htm reduziert. Es wurde sogar berücksichtigt, dass es ja htm und html-Dateien gibt und auch das ist genial!!!! Ich fragte nur nach html-Dateien.



Ich gab den Code bei Chat GPT von Bing ein - und jetzt wird es kompliziert - nachdem ich mein Problem geschildert hatte und von Chat GPT diesen Code als Antwort bekam, der bei mir nicht lauffähig war:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
Const ForWriting = 2

' Ordner öffnen und alle Dateien durchlaufen
Set objFolder = objFSO.GetFolder("C:\Users\manfr\Desktop\test\textloeschenvbs")
For Each objFile In objFolder.Files
    ' Nur Textdateien bearbeiten
    If LCase(Right(objFile.Name, 4)) = ".txt" Then
        ' Datei öffnen und Text einlesen und schließen
        Set objFile = objFSO.OpenTextFile(objFile.Path, ForReading)
        strText = objFile.ReadAll
        objFile.Close

        ' Änderungen am Inhalt
        strNewText = Replace(strText, "gut", "test123")

        ' Datei öffnen und neuen Text schreiben und schließen
        Set objFile = objFSO.OpenTextFile(objFile.Path, ForWriting)
        objFile.Write strNewText
        objFile.Close
    End If
Next


Windows meckerte über diesen Code und die Datei wurde nicht ausgeführt, aber man sieht, das Chat GPT schnell (nach zwei Abfragen) diesen Code ohne Hilfe erstellte.
Danach gab ich wenige Minuten später den o. a. Code von Administrator.de in der ursprünglichen Fassung ein und jetzt das Wunder:

Der o. a. Code, den ich  von den Wörtern und Pfad her erst später ersetzte, wurde ausgegeben.

Chat GPT meisterte hier gleich mehrere  Stufen der menschlichen Intelligenz:

1. Erinnerung: Chat GPT nahm den alten Gesprächsverlauf auch mit Unterbrechung auf
2. Kreierung eines eigenen Codes Anhand einer Beschreibung
3. Abänderung eines unbekannten Codes:

Die Zeilen:

If LCase(Right(File.Name, 4)) = ".htm" Or LCase(Right(File.Name, 5)) = ".html" Then
        T = fso.OpenTextFile(File.Path).ReadAll
        If InStr(T, LookFor) > 0 Then
            fso.CreateTextFile(File.Path).Write Replace(T, LookFor, ReplaceBy)
        End If
    End If


in der For each-Schleife wurden mit sinnvollen und lauffähigen Code ergänzt.

Wie gesagt, es ist unwahrscheinlich, dass ChatGPT den Code und das Problem vorher schon bearbeitet hatte

4. Transformation von Sprache in Code

Das ist also der erste computergenerierte Text-code in VBS auf dieser Webseite und das nach wirklich langen herumprobieren und  stundenlanger Recherche im Netz bei Google.

Der Autor dieser Webseite findet das erstaunlich bis unheimlich: PC-Tipps kann ich mir in Zukunft dann sparen: Chat GPT von Bing macht das innerhalb von Sekunden:

Ach ja, die Antworten kamen ziemlich schnell (sauschnell positiv gesagt. Da war es wirklich nicht möglich, dass ein Mensch innerhalb weniger Sekunden daran beteiligt war.
 
5. Berücksichtigung von zusätzlichen Möglichkeiten (htm und html).

Disclaimer: Der Autor findet KI unheimlich, aber stellt den Sachverhalt so dar, wie er Ihn erlebt hat.



Impressum
Kontaktformular
Datenschutz