Die Digitalisierung hat zu einer zunehmenden Verwendung von Sprachmodellen wie ChatGPT geführt, die auf künstlicher Intelligenz basieren und dazu beitragen, komplexe Prozesse zu vereinfachen und Benutzern zu helfen, Zeit und Ressourcen zu sparen. Im Kontext meiner eigenen Arbeit war ChatGPT eine wertvolle Ressource, insbesondere bei der Automatisierung von Aufgaben durch die Erstellung von Powershell-Skripten.
Da ich in meiner Arbeit bereits Erfahrungen mit Microsoft Exchange und anderen MS-Produkten gesammelt habe, bin ich ziemlich vertraut mit Powershell. Dennoch stieß ich auf einige grundlegende Herausforderungen, die Schwierigkeiten bereiteten. Eine dieser Herausforderungen war die Erstellung eines Skripts, das eine MD-Datei einlesen und basierend auf einem speziellen Delimiter verarbeiten sollte. Bei der Suche nach einer Lösung habe ich mich an ChatGPT gewendet.
ChatGPT war in der Lage, dieses Skript effizient zu erstellen. Aber es gab weitere Herausforderungen zu meistern. Das ursprüngliche Skript, obwohl funktionsfähig, erzeugte Dateinamen, die nicht dem gewünschten Format entsprachen. Ich bat ChatGPT, den Dateinamen auf die ersten 30 Zeichen der einzelnen Dateien zu ändern. Diese Anpassung führte jedoch zu Problemen, da bestimmte Zeichen im Dateinamen ungültig waren. Mit meiner Anfrage zur Erstellung eines Error-Handlings konnte ChatGPT dieses Problem schließlich erfolgreich lösen.
Meine Erfahrung mit ChatGPT war äußerst positiv. Ich war beeindruckt von der Effizienz, mit der das Programm das Skript erstellen und anpassen konnte, und von der Einfachheit des resultierenden Skripts. ChatGPT hat sich als enormes Potenzial für eine Vielzahl von Aufgaben erwiesen. Mit nur wenigen Fragen konnte das Programm das Skript voll funktionsfähig erstellen, ohne dass ich jeden Schritt selbst programmieren musste. Dies sparte erheblich Zeit und verdeutlichte, wie nützlich ChatGPT sein kann.
ChatGPT ist nicht nur ein leistungsstarkes Werkzeug, sondern auch ein Beispiel dafür, wie künstliche Intelligenz die Art und Weise verändert, wie wir Aufgaben bewältigen und Probleme lösen. Mit der Fähigkeit, Benutzeranfragen zu verstehen und darauf zu reagieren, kann es den Benutzern helfen, ihre Produktivität zu steigern und ihre Effizienz zu verbessern.
Abschließend lässt sich sagen, dass künstliche Intelligenz und Sprachmodelle wie ChatGPT ein wesentlicher Bestandteil unserer digitalen Zukunft sein werden. Mit ihrer Fähigkeit, komplexe Aufgaben zu automatisieren und Benutzern Zeit und Mühe zu ersparen, sind sie unverzichtbare Werkzeuge in einer zunehmend digitalisierten Welt. Ich freue mich darauf, zu sehen, wie sie weiterhin entwickelt und verbessert werden, um noch effizienter und nützlicher zu werden.
Hier noch das generierte Script. Aufgabe war wie gesagt – markdowndatei, splite beim delimiter — und setze inhalt als dateiname aber mit errorhandling
$delimiter = "---"
$inputFilePath = "C:\Users\rdiek\Desktop\md\md.md"
$outputFolderPath = "C:\Users\rdiek\Desktop\md\konv"
# Read the input file
$fileContent = Get-Content -Path $inputFilePath -Raw
# Split the file content using the delimiter
$splitContent = $fileContent -split $delimiter
# Create the output folder if it doesn't exist
if (-not (Test-Path -Path $outputFolderPath)) {
New-Item -ItemType Directory -Path $outputFolderPath | Out-Null
}
# Function to remove illegal characters from a filename and replace umlauts
function Remove-IllegalCharacters {
param(
[string]$filename
)
$illegalChars = [IO.Path]::GetInvalidFileNameChars()
$cleanFilename = $filename -replace "[$([regex]::Escape($illegalChars -join ''))]"
$cleanFilename = $cleanFilename -replace 'ä', 'ae' -replace 'ü', 'ue' -replace 'ö', 'oe'
$cleanFilename = $cleanFilename -replace '[\\/:*?"<>|]', '_'
$cleanFilename = $cleanFilename -replace '\[\]', ' '
return $cleanFilename
}
# Iterate through the split content and write each part to a separate file
for ($i = 0; $i -lt $splitContent.Length; $i++) {
if ($splitContent[$i].Trim().Length -gt 45) {
$outputFileName = $splitContent[$i].Trim().Substring(0, 45)
} else {
$outputFileName = $splitContent[$i].Trim()
}
$outputFileName = Remove-IllegalCharacters -filename $outputFileName
$outputFileName = $outputFileName + ".txt"
# Add error handling to continue processing even if an error occurs
$errorNumber = 0
$outputFilePath = Join-Path -Path $outputFolderPath -ChildPath $outputFileName
while (Test-Path -Path $outputFilePath) {
$errorNumber++
if ($splitContent[$i].Trim().Length -gt 40) {
$outputFileName = $splitContent[$i].Trim().Substring(0, 40) + "_ERROR$errorNumber.txt"
} else {
$outputFileName = $splitContent[$i].Trim() + "_ERROR$errorNumber.txt"
}
$outputFilePath = Join-Path -Path $outputFolderPath -ChildPath $outputFileName
}
try {
$contentWithDelimiter = $delimiter + $splitContent[$i].Trim() + $delimiter
$contentWithDelimiter = $contentWithDelimiter -replace '\[\]', ' '
$contentWithDelimiter | Out-File -FilePath $outputFilePath
}
catch {
$errorNumber++
if ($splitContent[$i].Trim().Length -gt 40) {
$outputFileName = $splitContent[$i].Trim().Substring(0, 40) + "_ERROR$errorNumber.txt"
} else {
$outputFileName = $splitContent[$i].Trim() + "_ERROR$errorNumber.txt"
}
$outputFilePath = Join-Path -Path $outputFolderPath -ChildPath $outputFileName
$errorMessage = "Error occurred while processing the file."
$errorMessage | Out-File -FilePath $outputFilePath
}
}
