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