Hallo,
ich habe von PowerShell leider keinen Plan, aber bei so einer (meiner Einschätzung nach) simplen Aufgabe kann man als Orientierung auch ChatGPT heranziehen und mal schauen, was der so an Quellcode hervorbringt:
Code:
# Pfad zum Verzeichnis, in dem sich die PDF-Dateien befinden
$sourcePath = "C:\Pfad\Zu\Ihren\PDF-Dateien"
# Durchlaufen Sie jede PDF-Datei im Quellverzeichnis
Get-ChildItem -Path $sourcePath -Filter *.pdf | ForEach-Object {
$fileName = $_.Name
$folderName = $fileName -match "_(\d+)_([A-Z]+)_Test.pdf"
# Wenn das Dateiformat stimmt, verschieben Sie die Datei in den entsprechenden Ordner
if ($folderName) {
$destinationFolder = Join-Path $sourcePath "$matches[1]\$matches[2]"
if (-not (Test-Path $destinationFolder)) {
New-Item -ItemType Directory -Path $destinationFolder | Out-Null
}
$destinationPath = Join-Path $destinationFolder $fileName
Move-Item -Path $_.FullName -Destination $destinationPath -Force
Write-Host "Die Datei '$fileName' wurde nach '$destinationPath' verschoben."
} else {
Write-Host "Die Datei '$fileName' hat nicht das erwartete Format und wurde nicht verschoben."
}
}
Weiterhin habe ich gefragt, wie man das Skript ausführen lassen kann:
Um das PowerShell-Skript auszuführen, können Sie die folgenden Schritte befolgen:
- PowerShell starten: Öffnen Sie die PowerShell-Konsole auf Ihrem Computer. Sie können dies tun, indem Sie "PowerShell" in das Startmenü oder die Suchleiste eingeben und die passende Anwendung auswählen.
- Ausführungsrichtlinie ändern (optional): Je nach den Sicherheitseinstellungen Ihres Systems müssen Sie möglicherweise die Ausführungsrichtlinie ändern, um das Skript auszuführen. Führen Sie dazu den Befehl aus:
powershellCopy code
Set-ExecutionPolicy RemoteSigned
Wählen Sie "Ja" oder "A" für Alle aus, wenn Sie dazu aufgefordert werden. Beachten Sie, dass dies die Ausführungsrichtlinie temporär ändert.
- Skript speichern: Kopieren Sie das oben bereitgestellte Skript in einen Texteditor wie Notepad und speichern Sie die Datei mit der Erweiterung ".ps1" (z. B. "VerschiebePDFs.ps1").
- Skript ausführen: Navigieren Sie in der PowerShell-Konsole zum Verzeichnis, in dem sich Ihr Skript befindet. Verwenden Sie dann den Befehl:
powershellCopy code
.\VerschiebePDFs.ps1
Drücken Sie Enter, um das Skript auszuführen.
Bitte beachten Sie, dass je nach den Sicherheitseinstellungen Ihres Systems und der PowerShell-Version möglicherweise zusätzliche Schritte erforderlich sind. Falls das Ausführen des Skripts aufgrund von Berechtigungsproblemen fehlschlägt, können Sie versuchen, die Ausführungsrichtlinie wieder auf den ursprünglichen Wert zurückzusetzen oder das Skript mit Administratorrechten auszuführen.
Du kannst die Funktionsfähigkeit ja mal mit ein paar Testdateien validieren lassen und/ oder auf der Basis weiter mit der PowerShell-Syntax beschäftigen. Oder du fängst bei den Basics in der Dokumentation an, wenn dir ein grundsolides Verständnis wichtig ist.
Kann man so oder so machen