Script Paused? Warum?

  • Ja, ich wiedermal..ich versuche grad ein kleines Tool zu Datensicherung zu basteln. Soweit funzt es auch, nur das nach dem ersten Ordnerpaar das Script eine Pause einlegt - warum???

    Danke

    Stefan

  • Wenn ich @SW_HIDE weglasse dann gibt es ne Fehlermeldung. Habe es gegen @SW_SHOW getauscht. Das Konsolefenster öffnet und schließt sich selbständig sobald Copy fertig ist....

  • Hallo alpines, das ist schon merkwürdig in der Konsole erscheint die Meldung:

    Code
    Neues Verz.       0    C:\Users\Stefan\Documents\Eigene Bilder\
    2018/06/15 20:54:13 FEHLER 5 (0x00000005) Zielverzeichnis wird mit Zeitstempel versehen G:\Dokumente\Eigene Bilder\
    Zugriff verweigert
    30 Sekunden wird gewartet... Wiederholung...

    Aber es gibt keinen Ordner "C:\Users\Stefan\Documents\Eigene Bilder\" und demzufolge auch nicht in G:

    Kopiere ich die Adresse in den Explorer dann verweist sie auf: C:\Users\Stefan\Pictures

    Demzufolge sollte der Ordner C:\Users\Stefan\Documents\Eigene Bilder\ in Robocopy ausgeschlossen werden, richtig? Oder gibt es noch andere Lösungen???

    Danke

    Stefan

  • Hallochen, läuft jetzt fast bis Ende :) ...nur im Ordner OneDrive gibt es Probleme das die Datei:

    .849C9593-D756-4E56-8D6E-42412F2A707B von einem anderen Prozess genutzt wird und daher nicht kopiert werden kann.

    Mit:

    Code
    $Quelle="C:\Users\Stefan\OneDrive\"
    $Ziel="G:\OneDrive"
    $Nixkopieren_1 = "C:\Users\Stefan\OneDrive\.849C9593-D756-4E56-8D6E-42412F2A707B"
    RunWait(@ComSpec & " /C ROBOCOPY " & $Quelle & " " & $Ziel & " /MIR /XD " & $Nixkopieren_1, '', @SW_SHOW)

    läßt sich die Datei nicht ausschließen, kann grad keine Lösung finden...

    Danke

    Stefan

  • Versuche es mal so... das @ComSpec kannst du dir sparen, wenn mit Run eine *.exe ausgeführt wird.

    RunWait("ROBOCOPY " & $Quelle & " " & $Ziel & " /MIR /XX " & $Nixkopieren_1, '', @SW_SHOW)

    oder so...

    RunWait(StringFormat('ROBOCOPY "%s" "%s" /MIR /XX "%s"', $Quelle, $Ziel, $Nixkopieren_1), '', @SW_SHOW)

  • Nö, funzt beides nicht so wirklich. Habe aber inzwischen eine Lösung gefunden. Bei .849C9593-D756-4E56-8D6E-42412F2A707B handelt sich um eine Datei die von OneDrive temporär angelegt wird. Also OneDrive beenden, Dateien kopieren, OneDrive starten.

    Code
    ProcessClose ( "OneDrive.exe" )
    $Quelle="C:\Users\Stefan\OneDrive\"
    $Ziel="G:\OneDrive"
    RunWait(@ComSpec & " /C ROBOCOPY " & $Quelle & " " & $Ziel & " /MIR", '', @SW_SHOW)
    Run("C:\Users\Stefan\AppData\Local\Microsoft\OneDrive\OneDrive.exe")

    Ist vielleicht nicht elegant, aber läuft :) Ich brauch nur noch eine Lösung für das OneDrive-Icon im Tray, welches nicht beendet wird.

    Stefan

  • Ob durch WinClose auch der Prozess beendet wird, liegt ganz allein bei an der Anwendung, dessen Fenster geschlossen wurde. In den meisten Fällen ist dies aber so.

    Das Problem hier ist aber, dass das TrayIcon erst ausgeblendet wird, wenn man mit der Maus über diesen Bereich fährt.

    Hier mal ein kleines Script, mit dem man das sehen kann...