Kopierhilfe

  • Ja, ist schon sinnvoll, das zu automatisieren. Schau mal, ob das passt.
    Hier wird ganz stumpf von genau dem Szenario ausgegangen, dass der Projektordner im Verzeichnis "Aussendienst" liegt und darunter der Ordner "Dokument-Explorer" liegt. Du findest das im Skript ab Zeile 77. Ich habe das nicht getestet und hoffe es passt.

    Spoiler anzeigen


    EDIT: Hab gerade nochmal egändert! (Den Backslash noch in das Prüfmuster aufgenommen, damit es definitiv diese beiden Verzeichnisse sind.

    Grüße autoiter

    Einmal editiert, zuletzt von autoiter (8. August 2017 um 19:41)

  • Hmm,

    "kein passendes Startverzeichnis ausgewählt!"

    Etwas stimmt nicht...

    Code
    Local $aProject = StringRegExp($sStartFolder, "(?i)\\Aussendienst\\(.*?)\\Dokument-Explorer\\", 1)

    Dokument-Explorer? Müsste nach Aussendienst nicht der Jahrgang kommen?

    Einmal editiert, zuletzt von kayes (8. August 2017 um 20:20)

  • Wenn dein Startverzeichnis "E:\Daten\20%projekt%\Dokument-Explorer\Berechnungen\", dann musst du den Code in Zeile 77 anpassen.

    AutoIt
    Local $aProject = StringRegExp($sStartFolder, "(?i)\\Aussendienst\\(.*?)\\Dokument-Explorer\\", 1)

    Ich bin von einem Startverzeichnis ausgegangen, wo der Projektordner unterhalb von Aussendienst\20%projekt%\Dokument-Explorer\ liegt. Sorry, mein Fehler. Ändere das Wort Aussendienst in Daten.

    Grüße autoiter

  • hmm, immer noch derselbe Fehler...

    edit:

    in

    $sStartFolder="E:\Daten\"

    ist Daten vorhanden. Muss in der Zeile

    Local $aProject = StringRegExp($sStartFolder, "(?i)\\Daten\\(.*?)\\Dokument-Explorer\\", 1)

    dann nochmal Daten sein?

    Einmal editiert, zuletzt von kayes (8. August 2017 um 20:46)

  • Ach Mensch bin ich doof! Du wählst nur das Projekt aus, oder?
    Das heißt, das Startverzeichnis ist eigentlich "E:\Daten\20%projekt%" und dann wird daran noch "\Dokument-Explorer\Berechnungen" angehängt. Falls das stimmt, probiere es mal hiermit.

    Spoiler anzeigen

    Grüße autoiter

  • Jetzt ist der Projektname zu kurz.

    edit:
    der Backslash in Zeile 6 hinter Daten muss weg. Dann kopiert das Tool.

    Allerdings wird ein Verzeichnis "ten" angelegt. Also 2 Stellen von Daten abgezogen anstatt vom Jahrgang

    Die Daten, die in Berechnungen liege, werden nun hierher kopiert:

    F:\Dokumente\Aussendienst\ten\Berechnungen\2017D002\Dokument-Explorer\Berechnungen

    der richtige Pfad wäre

    F:\Dokumente\Aussendienst\2017\17D002\Berechungen
    für das 2017er Projekt und
    halt entsprechend für die anderen Jahrgänge...

    2 Mal editiert, zuletzt von kayes (8. August 2017 um 21:26)

  • Sorry, war gerade unterwegs. Ich bin bemüht aber glücklos :D

    Spoiler anzeigen


    Ich habe mit der falschen Variable gearbeitet. $sFolder beinhaltet deine Auswahl. Nicht $sStartFolder..

    Grüße autoiter

  • Deine letzte Anmerkung mit dem Jahr habe ich gerade erst gelesen. In diesem Skript wäre das enthalten. Allerdings bin ich wahrscheinlich eh zu doof. Ich müsste das Skript wohl selbst mal ausführen. So fehlt mir offensichtlich die Vorstellungskraft.
    Eigentlich kann diese Meldung nur gekommen sein, weil der ausgewählte Pfad keinen Backslash enthielt..
    Also nehme ich mal an, die Variable war leer. Mir ist aufgefallen, dass sie an unterschiedlichen Stellen verwandt wurde und ich habe sie einmal umbenannt. Die Variable wird nur richtig gefüllt, wenn du während der Ausführung ein Projekt auswählst.
    Hier das Skript. Wenn es nicht läuft, kann ich mich nur entschuldigen. Da muss ein fähigerer User ran.

    Spoiler anzeigen

    Grüße autoiter

  • Äh, hallo? Entschuldigen? Wofür? Dafür, das mir jemand kostenlos hilft? Ne.....

    Wie arbeitet die split Funktion?

    Code
    Local $sProject = $aSplit[$aSplit[0]]
  • Wie arbeitet die split Funktion?

    Die StringSplit Funktion splittet einen String mit einem bestimmten Delimeter in ein Array.
    "Das ist ein Text." wird mit dem Delimeter " " zu [4, "Das", "ist", "ein", "Text."]. Index 0 gibt die Anzahl der Teilstrings zurück.
    Das kannst du mittels dem dritten Parameter übrigens deaktivieren, einfach mal in die Dokumentation schauen wenn du nicht weiß was eine Funktion macht.

  • Die Zeile 81

    Code
    $iTargetFolder = $iTargetFolder & "\" & @YEAR & "\" & StringTrimLeft($sProject, 2) & "\Berechnungen"

    sieht eigentlich genau richtig aus. Allerdings taucht bis zu dieser Zeile @YEAR nicht auf. Muss diese nicht vorher definiert werden?

  • ok, dann ist das falsch.

    Im Stamm gibt es mehrere Ordner

    2015D123
    2016D556
    2017D002

    Diese Ordner haben jeweils mehrere Unterordner, u. a. Berechnungen. Die Daten, die in diesem Unterordner liegen müssen kopiert werden in mehrere Zielverzeichnisse

    2015D123 muss in ....\2015\15D123\Berechnungen
    2016D556 muss in ....\2016\16D556\Berechnungen
    2017D002 muss in ....\2017\17D002\Berechnungen

    im String 2017D002 ist ja schon alles notwendige, der Jahrgang 2017 und der Projektname 17D002, enthalten.

  • Nochmal zum Ablauf des Programms:

    Abbildung des Ordnerinhalts (Projekte) von Daten mit Checkboxen zum Anwählen.

    ( ) 2015D123
    ( ) 2017D002

    Auswahl des Ordners

    kopieren der Daten des Unterordners Berechnungen aus den angewählten Projekten in den Zielpfad

    ....\2015\15D123\Berechnungen

    Wenn ich das bisherige Script richtig verstehe stecken 2 Funktionen darin. Einmal die Darstellung und Auflistung des Ordnerinhalts und zum anderen der eigentliche Kopiervorgang.
    Da mehrere Ordner angewählt werden könnten muss der Kopiervorgang mehrere Male durchgeführt werden was durch eine Schleife erledigt wird.

    Noch jemand Vorschläge?

  • Hi,

    Enspricht folgendes deinen Vorstellungen?

    Spoiler anzeigen

    Ausgabe erstmal nur in der Konsole, wenn da alles Ok ist kannst du die Zeilen 58 bis 61 entkommentieren dann kopiert das Script.

    mfg
    Zeitriss

  • Hi,

    Enspricht folgendes deinen Vorstellungen?


    Ausgabe erstmal nur in der Konsole, wenn da alles Ok ist kannst du die Zeilen 58 bis 61 entkommentieren dann kopiert das Script.

    mfg
    Zeitriss

    Ja, das ist genau das was ich gesucht habe.

    Zwei klitzekleine Sachen hätte ich da noch:

    1. Könnte es eine farbliche Bestätigung geben das der Kopiervorgang abgeschlossen ist?
    Ich weiß, der Button wird mit "Arbeitet" beschriftet während des Vorgangs, aber wenn nicht viele Daten kopiert wurden kann es sein das man sich fragt "Hab ich jetzt gedrückt?"
    Wenn das Programm nach dem kopieren auf grün schaltet wäre das eine optische Bestätigung.

    2. Da der Startpfad auf einem anderen Rechner im Netzwerk liegt würde ein Hinweis wenn der Rechner nicht online ist noch gut sein.

    Wenn das aber nicht geht - auch ok!

    Schon mal ein riesen DANKESCHÖN von mir!

    Einmal editiert, zuletzt von kayes (10. August 2017 um 09:32)