focus1610
Goto Top

Für Dateiname einen Ordner erstellen und dann entsprechnede Datein da rein schieben

Hallo,

ich habe ein Problem mit Win Powershell.

Habe einen Win7 Rechner der als Server und NAS fungiert. Weiterhin habe ich eine Dreambox 7025+. Nun möchte ich die auf der internen Festplatte der Dreambox aufgenommenen Filme auf meine NAS kopieren bzw verschieben. Dieses wollte ich mit Powershell lösen.

Aber ich bekomme das eigentliche verschieben einfach nicht hin.

Hier mal mein verwendeter Code:

#In das Verzweichnis der Dreambox wechseln
cd \\DM7025\harddisk\movie\ 

#alle namen der Filme auslesen
$daten = Get-ChildItem -Filter *.ts

#ForEach Schleife zum einlesen der Daten die sich im Ordner befinden.
foreach($i in $daten){
$pfad = "E:\Filme\" + $i.BaseName  
$vha = Test-Path -path $pfad -pathtype container


#prüfen ob Ordner vorhanden ist.
if ($vha -eq $true) 

#Wenn ja, dann Kopiervorgang abrechen
{               
       }
 else
 #Wenn Ordner nicht vorhanden, wird Ordner erstellt und die entsprechenden Dateien dort hin geschoben
 {
 $name = $i.basename
 New-Item -path $pfad -ItemType directory
$filme = Get-ChildItem -Filter $name
foreach($u in $filme)
move-item -path \\DM7025\harddisk\movie\ -destination $pfad
}
}

Folgender Fehler wird angezeigt:

PS Microsoft.PowerShell.Core\FileSystem::\\DM7025\harddisk\movie> E:\powershell\Filme kopieren.ps1
Fehlender Anweisungstext in der foreach-Schleife.
Bei E:\powershell\Filme kopieren.ps1:26 Zeichen:1

back-to-top<<<< move-item -path \\DM7025\harddisk\movie\ -destination $pfad

+ CategoryInfo : ParserError: (face-smile , ParentContainsErrorRecordException

+ FullyQualifiedErrorId : MissingForeachStatement


Ich glaube das ich ein Problem mit den Dateinamen habe. Denn die Filme heißen al la

20150307 20:15_RTL Televosion_rapunzel_neu verföhnt.ts

Für diesen Film gibt es noch diverse andere Formate bzw dateien die ich alle mit rüber schieben will.

Geht das mit dem Namen überhaupt so einfach?

Habe ich am Code etwas falsch?


Vielen Dank für Hilfe.

Focus

P.S.: Das ist mein erster Gehversuch mit Powershell. Also bitte nicht in der Luft zerreissen, wenn ich etwas falsch gemacht habe. Danke. smile.

Content-Key: 265552

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

Printed on: April 26, 2024 at 07:04 o'clock

Mitglied: 114757
114757 Mar 08, 2015, updated at Mar 09, 2015 at 10:06:20 (UTC)
Goto Top
Moin,
uahhhhhhhhh face-wink
lässt sich so abkürzen:
$dreambox = '\\DM7025\harddisk\movie'  
$daten = gci $dreambox -Filter "*.ts"  
foreach($i in $daten){
    $pfad = "E:\Filme\" + $i.BaseName  
    if (!(Test-Path $pfad)) {
        md $pfad
        move-item "$($i.Directory.Fullname)\$($i.Basename)*" -destination $pfad  
    }
}
Gruß jodel32