Powershell - Files mit ähnlichen Dateinamen (nach Muster) im gleichen Folder finden
Hallo,
vlt. kann mir jmnd helfen.
Ich komm einfach nicht drauf.
Ich möchte einen Folder durchsuchen (ohne Subfolder) und ähnliche Files finden. Diese dann aufgrund des Ergebisses verarbeiten.
Beispiel:
Datei 1:
CC-000001.pdf
Datei 2:
CC-000001_1.pdf
Datei 3:
CC-00000_2.pdf
in einem Folder.
match muss dann auf CC-000001 gehen.
Da es auch vorkommen könnte, dass sich in dem Folder ein File Bsp: CC-000003_1.pdf befindet aber kein CC-000003.pdf befindet,
ist es nicht möglich, nur auf "_{\d}" zu matchen.
bei dem Versuch mit
(Get-ChildItem -af $SourceDir\*.pdf) | Where { if ( $FileDouble = ($($_.BaseName)) -eq ("$($_.BaseName)").Replace("_1","")){
if ($FileDouble = "True") {
write-host "$($_.FullName) will be moved"}}
oder mit test-path auf andere Versionen zu matchen, bekomme ich leider nicht die erwünschten Ergebnisse.
vlt. kann mir jmnd helfen.
Ich komm einfach nicht drauf.
Ich möchte einen Folder durchsuchen (ohne Subfolder) und ähnliche Files finden. Diese dann aufgrund des Ergebisses verarbeiten.
Beispiel:
Datei 1:
CC-000001.pdf
Datei 2:
CC-000001_1.pdf
Datei 3:
CC-00000_2.pdf
in einem Folder.
match muss dann auf CC-000001 gehen.
Da es auch vorkommen könnte, dass sich in dem Folder ein File Bsp: CC-000003_1.pdf befindet aber kein CC-000003.pdf befindet,
ist es nicht möglich, nur auf "_{\d}" zu matchen.
bei dem Versuch mit
(Get-ChildItem -af $SourceDir\*.pdf) | Where { if ( $FileDouble = ($($_.BaseName)) -eq ("$($_.BaseName)").Replace("_1","")){
if ($FileDouble = "True") {
write-host "$($_.FullName) will be moved"}}
oder mit test-path auf andere Versionen zu matchen, bekomme ich leider nicht die erwünschten Ergebnisse.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1918647349
Url: https://administrator.de/forum/powershell-files-mit-aehnlichen-dateinamen-nach-muster-im-gleichen-folder-finden-1918647349.html
Ausgedruckt am: 26.03.2025 um 11:03 Uhr
2 Kommentare
Neuester Kommentar

ls $SourceDir\*.pdf -File | group {[regex]::match($_.Basename,'(?i)^CC-\d+').Value}