Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

BackUp-Skript nur per ISE ausführbar

$
0
0

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


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>