functionstrut
Goto Top

(PS) Liste mit der nach Ordnernamen gefiltert wird

Hallo,

ich würde gerne ein Array mit einer Liste erstellen die zum beispiel so ausschaut:

$farben = @(
("Schwarz"),
("Weiß"),
("Gelb"),
("Blau")
)
$farben

das passt soweit und funktioniert. Wie kann ich nun aber den GCI/Move-Item Befehl so abändern das wenn er in einem pfad einen oder mehrere der "farben"(suchwörter) findet, alle darin befindlichen Dateien in einen neuen entsprechenden Ordner verschiebt?

Aktuell:
C:\Ordner\Weiß_Blau\Bilder.jpg
C:\Ordner\Schwarz_Gelb\Bilder.jpg
C:\Ordner\Schwarz_Gelb_Weiß\Bilder.jpg

das er die Dateien aus den besagten Ordner in dieser Struktur anordnet:
C:\OrdnerNEU\Bilder mit (Weiß) (Grau)\Bilder.jpg
C:\OrdnerNEU\Bilder mit (Schwarz) (Gelb)\Bilder.jpg
C:\OrdnerNEU\Bilder mit (Schwarz) (Weiß) (Gelb)\Bilder.jpg

das sollte doch ohne Probleme möglich sein oder? In meinem Beispiel habe ich bewusst die Reihenfolge von Zeile 3 geändert(im Array kommt Weiß vor Gelb), geht das das die Farben im Zielordner in der Reihenfolge sind wie im Array?

Vielen Dank euch schonmal face-smile

Content-Key: 363171

Url: https://administrator.de/contentid/363171

Printed on: April 19, 2024 at 12:04 o'clock

Mitglied: 135333
Solution 135333 Feb 01, 2018 at 13:29:15 (UTC)
Goto Top
$source = "d:\quelle"  
$destination = "d:\ziel"  
$farben = '(Grün|Gelb|Schwarz)'  
gci $source -File -recurse | ?{$_.Directory.Name -match $farben} | %{
   $dest = "$destination\$($matches[1])"  
   if(!(test-path $dest)){md $dest -Force | out-null}
   $_ | move-item -Destination $dest -Force
}
Gruß snap