Hallo allerseits,
folgend zu sehen ist ein kleines Skript, welches eine iTunes-Library
mittels robocopy auf eine zweite HDD übertragen soll. Das selektieren der "richtigen" Platten
erfolgt mit Hilfe der Namen, die HDDs müssen "iTunes" sowie "iBackUp" heißen damit der
Kopiervorgang startet.
$src_name = Get-WmiObject Win32_LogicalDisk | Where-Object {$_.VolumeName -eq "iTunes"}; $dst_name = Get-WmiObject Win32_LogicalDisk | Where-Object {$_.VolumeName -eq "iBackUp"}; $s1 = $src_name.VolumeName; $d1 = $dst_name.VolumeName; $src_letter = Get-WmiObject Win32_LogicalDisk -Filter "VolumeName='iTunes'"; $s2 = $src_letter.DeviceID; $dst_letter = Get-WmiObject Win32_LogicalDisk -Filter "VolumeName='iBackUp'"; $d2 = $dst_letter.DeviceID; if($s1 -ne "iTunes" -or $d1 -ne "iBackUp") { Write-Host -ForegroundColor Green "`n`tiTunes- und/oder BackUp-Festplatte nicht angeschlossen!"; Read-Host 'Press Enter to continue…' | Out-Null; exit(1); } else { robocopy.exe $s2 $d2 '*' /MIR /R:3 /W:5 /XD 'System Volume Information' '$RECYCLE.BIN'; Start-Sleep '1'; attrib -S -H $s\ /S /D; Start-Sleep '1'; attrib -S -H $d\ /S /D; Read-Host 'Press Enter to continue…' | Out-Null; exit(0); }
Im ISE funktioniert dieses Skript wunderbar.
Öffne ich es nun per Rechtsklick -> Mit Powershell ausführen, greift die if-Anweisung und ich erhalte,
trotz angeschlossener Platten, die Nachricht "iTunes- und/oder BackUp-Festplatte nicht angeschlossen!"
Ich kann mir dieses Verhalten nicht erklären und hoffe auf einige erhellende Kommentare.
Viele Grüße & Danke im Voraus