Hallo zusammen,
ich habe mich ein wenig in Powershell versucht.
Ich möchte aus einem Verzeichnis die Dateien auslesen und anhand des Dateinamens
Ordner erstellen. Danach sollen die Dateien die am Anfang so heißen wie der Ordner
in diesen kopiert werden.
Die Ordner werden erstellt aber die Dateien nicht kopiert.
Es sind Hörspiele (mp3) die immer mit 045 - das Hoerspiel - 02 - das Kapitel.mp3
benannt sind. Es geht immer um die ersten beiden Angaben. 045 - das Hoerspiel
heißt dann der Ordner und alle Dateien die so Anfangen sollen da rein kopiert werden.
Könnt ihr mir da auf die Sprünge helfen?
$StartFolder = 'D:\Test'
#Dateien einlesen und splitten
Get-ChildItem $StartFolder\*-*-*-* -File | ForEach-Object {
$CD,$Titel,$Track = $_.Name -split '-',3
# Aus den gesplitteten Teilen Ordner erstelln
$Path="$StartFolder\$CD-$Titel"
if (!(Test-Path $Path)) {New-Item -Path $Path -ItemType Directory}
#New-Item -Path $StartFolder\$CD-$Titel -ItemType Directory
# Die entsprechenden Dateien in die richtigen Ordner kopieren (geht nicht)
$Name="$StartFolder\$CD-$Titel-$Track"
move-Item -Path $Name -Destination $Path
}
Besten Dank
Thorsten
PS: Es kommt immer folgende Fehlermeldung:
move-Item : Falscher Parameter.
In D:\Test\test 2.ps1:16 Zeichen:4
+ move-Item -Path $Name -Destination $Path
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (D:\Test\108 - D...8 - Soo-Ann.mp3:FileInfo) [Move-Item], IOException
+ FullyQualifiedErrorId : MoveFileInfoItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand