none
Warten bis "copy" abgeschlossen ist RRS feed

  • Frage

  • Hallo,

    ich habe ein Skript  indem ein copy-Vorgang gestartet wird und nach dem copy-Vorgang eine Meldung in ein Textfile geschrieben wird. Jetzt befindet sich der copy-Befehl und die Meldung in einer if-Schleife und die Meldungen werden nicht meht geschrieben. Wenn ich den copy-Befehl auskommentiere erscheinen die Meldungen wieder.

    Gibt es eine Möglichkeit expliziet auf das Ende des copy-Vorganges zu warten und dann werden die Meldungen verschickt?

    Gruß

    Armin

    Donnerstag, 26. November 2015 09:01

Antworten

  • Hi Armin,

    versuch mal Folgendes:

    Copy-Item g:\WindowsImageBackup $d -Recurse -ErrorAction SilentlyContinue -verbose

    Liebe Grüße

    Best regards,

    David das Neves

    Technology Specialist - Consulting Services
    Computacenter AG & Co. oHG - Munich

    Blog    
    Creating Powershell GUIs with XAML? Take a look! PSGUI

    Dienstag, 1. Dezember 2015 10:50

Alle Antworten

  • Ich weis nicht recht ob ich deine Frage richtig interpretiere.
    Copy-Item sollte eigentlich blocken und erst später mit dem Skript fortsetzen.

    Versuche doch mal folgendes in deine Schleife zu bauen.

    $script = {Copy-Item -Path "Pfad" -Destination "Ziel"}
    
    Invoke-Command -ScriptBlock $script -AsJob -JobName "Job1"
    Get-Job -Name "Job1" | Wait-Job
    
    <Deine Ausgabe in Textfile>

    Grüße Andy

    Donnerstag, 26. November 2015 09:23
  • Könntest du uns den kritischen Teil deines Skriptes schicken? So richtig kann ich mir das Problem nicht vorstellen.
    Donnerstag, 26. November 2015 09:27
  • Wenn du es nicht per "copy" machst (denke du startest einen Batch?!) sondern per Powershell selbst, läuft er sequentiell weiter:

    Copy-Item C:\Temp\folder -Destination D:\Folder -recurse
    Ansonsten wie hpotsirhc geschrieben hat - Code posten, damit wir das Problem besser verstehen können.


    Best regards,

    David das Neves

    Technology Specialist - Consulting Services
    Computacenter AG & Co. oHG - Munich

    Blog    
    Creating Powershell GUIs with XAML? Take a look! PSGUI




    Donnerstag, 26. November 2015 11:45
  • if ($z -eq 1)
       {   
       $Ordnernamen = get-date((get-date).adddays(-1)) -uFormat "%d_%m_%Y"
       #new-item -itemtype directory $Ordnernamen
       $d = $i.name + $Ordnernamen
       copy g:\WindowsImageBackup $d -Recurse
       "Die Sicherung vom "+ $Ordnernamen + " wurde auf das Laufwerk "+ $i.name + "\ kopiert." | Out-File c:\Tools\history_copy.txt -append
       "Die Sicherung vom "+ $Ordnernamen + " wurde auf das Laufwerk "+ $i.name + "\ kopiert." | Out-File c:\Tools\event.txt -append
       }

    Hallo, also hier mal der Code.

    Vor derIf-Schleife hat alles fuktioniert. Nach einbinden in die If-Schleife wird kopiert aber nicht ins File geschrieben.

    Gruß

    Armin

    Freitag, 27. November 2015 13:17
  • Hast du schon mal durchdebugged? ISE - BreakPoints setzen mit F9 und per F5/F10 durchgehen.

    Hast du irgendwo dein Verhalten beim Fehler definiert? -Erroraction

    Eventuell kriegt er beim Copy oder Schreiben irgendeinen Fehler?


    Best regards,

    David das Neves

    Technology Specialist - Consulting Services
    Computacenter AG & Co. oHG - Munich

    Blog    
    Creating Powershell GUIs with XAML? Take a look! PSGUI

    Freitag, 27. November 2015 13:45
  • was ich noch vergas zu erwähnen:

    Der copy-Befehl läuft ca. 2 Std.

    wenn ich den copy-Befehl auskommentiere, wird alles geschrieben.

    Freitag, 27. November 2015 13:59
  • Dann würde ich wie David auf ein Problem beim Copy Befehl tippen und diesen entsprechend Debuggen (-ErrorVariable, -Verbose, usw.).

    Gruß Olaf

    Sonntag, 29. November 2015 19:23
  • Hallo,

    Fehler konnte ich jetzt nach ein paar Versuchen mit Einzelschritten nicht feststellen. Es laufen alle Befehle nacheinander durch. Nur eben das komplette Skript nicht.

    Ich stelle jetzt mal um und lass mir die Protokollierung einfach danach in einer weiteren Schleife nach Überprüfung der kopierten Ordner schicken.

    Gruß

    Armin

    Dienstag, 1. Dezember 2015 07:23
  • Hi Armin,

    versuch mal Folgendes:

    Copy-Item g:\WindowsImageBackup $d -Recurse -ErrorAction SilentlyContinue -verbose

    Liebe Grüße

    Best regards,

    David das Neves

    Technology Specialist - Consulting Services
    Computacenter AG & Co. oHG - Munich

    Blog    
    Creating Powershell GUIs with XAML? Take a look! PSGUI

    Dienstag, 1. Dezember 2015 10:50