Script um Dateien aus einem Ordnerbaum herauszukopieren
Hallo Admingemeinde,
ich stehe aktuell vor der Anforderung, für eine Datenmigration in ein DMS System, aus einer bestehenden Ordnerstruktur die "relevanten" Belege per Script herauszukopieren.
Ich dachte hier an Powershell oder Batch, wobei ich bis dato mit Powershell noch keine lauffähige Lösung zustand gebracht habe.
Die Schwierigkeit der Anforderung besteht in der Struktur der Daten
- Ordner Akten
- - Ordner Baustelle A
- - - Ordner Anfragen
- - - - Datei 1
- - - - Datei 2
- - - Ordner Bilder
- - - - Datei 1
- - - - Datei 2
- - Ordner Baustelle B
- - - Ordner Anfragen
- - - - Datei 2
- - - Ordner Bilder
- - - - Datei 1
- - Ordner Baustelle C
- - - Ordner Anfragen
- - - - Datei 1
- - - Ordner Bilder
- - - - Datei 1
...und so weiter.
Für die Migration sind nur die Dateien aus dem Unterordner Bilder relevant. Die Relevanz bemisst sich also am immer gleichen Ordnernamen Bilder, der jedoch in einer verschachtelten Struktur vorhanden ist. Alle Dateien, welche als Parentobjekt den Ordner Bilder haben, sollen an in einen Ordner kopiert werden.
Habt ihr hierfür eine Idee?
Danke für eure Unterstützung!
Florian
ich stehe aktuell vor der Anforderung, für eine Datenmigration in ein DMS System, aus einer bestehenden Ordnerstruktur die "relevanten" Belege per Script herauszukopieren.
Ich dachte hier an Powershell oder Batch, wobei ich bis dato mit Powershell noch keine lauffähige Lösung zustand gebracht habe.
Die Schwierigkeit der Anforderung besteht in der Struktur der Daten
- Ordner Akten
- - Ordner Baustelle A
- - - Ordner Anfragen
- - - - Datei 1
- - - - Datei 2
- - - Ordner Bilder
- - - - Datei 1
- - - - Datei 2
- - Ordner Baustelle B
- - - Ordner Anfragen
- - - - Datei 2
- - - Ordner Bilder
- - - - Datei 1
- - Ordner Baustelle C
- - - Ordner Anfragen
- - - - Datei 1
- - - Ordner Bilder
- - - - Datei 1
...und so weiter.
Für die Migration sind nur die Dateien aus dem Unterordner Bilder relevant. Die Relevanz bemisst sich also am immer gleichen Ordnernamen Bilder, der jedoch in einer verschachtelten Struktur vorhanden ist. Alle Dateien, welche als Parentobjekt den Ordner Bilder haben, sollen an in einen Ordner kopiert werden.
Habt ihr hierfür eine Idee?
Danke für eure Unterstützung!
Florian
Please also mark the comments that contributed to the solution of the article
Content-Key: 302577
Url: https://administrator.de/contentid/302577
Printed on: April 23, 2024 at 06:04 o'clock
5 Comments
Latest comment
und ungetestet etwas spezifischer:
$Src = 'Source'
$Dst = 'Ziel'
$FolderName = 'Bilder*'
$FileType = '*.*'
Get-ChildItem -Path $Src -Filter $FolderName -Recurse -Force |
Where-Object {$_.PSIsContainer} |
ForEach-Object {
Copy-Item -Path (Join-Path -Path $_.FullName -ChildPath '\*') -Filter $FileType -Destination $Dst -Force
}
Easy peasy like this as oneliner
Gruß jodel32
gci 'c:\Quelle' -recurse -Force | ?{!$_.PSIsContainer -and $_.Directory.Name -eq 'Bilder'} | copy-item -Destination 'c:\Zielordner' -Force