Hallo zusammen,
ich habe mir ein Skript erstellt, das in einem Ordner alle Unterordner in separate ZipDateien packt, diese in diesem Ordner ablegt und die "alten" Ordner löscht. Alles gut - alles hübsch.... Dazu nutze ich einen externen Packer über CLI (Command Line Interface) mit "RunWait"
Das läuft nun linear - also Ordner 1 bis Ordner 67 wird durchgehackt ...
Geht ja aber auch parallel - Ich könnte also ein Hauptprogramm (zur Verwaltung) starten und aus diesem heraus das ZipProgramm mit Übergabe der Parameter starten und das auf 3 bis 5 Prozesse begrenzen, je nach Rechnerleistung.
Daran teste ich nun schon ein paar Tage. Die Übergabe der Parameter ist aber sehr schwierig, da sehr lang und mit Leerzeichen behaftet. Hier mal als Beispiel ein Aufruf: "Zip.exe u -r -m1 -ep4 "_Hörbuch\_TestArchiv-2" "F:\_Hörbuch\_TestArchiv-2\Agatha Christie - 24 Schwarzdrosseln.zip" "F:\_Hörbuch\_TestArchiv-2\Agatha Christie - 24 Schwarzdrosseln\*"
Über das $cmdLine - Array diese Parameter zu übertragen ist sehr schwieg, da der Einsatz der Zeichen ", ' und chr(34) in Variablen verpackt ganz eigenartige Ergebnisse erzeugt. Den immer gleichen Aufruf "Zip.exe u -r -m1 -ep4 " hab ich nun in einen Umgebungsvariable geschoben und brauche ihn nicht mehr im Aufruf übertragen. Ich hoffe, daß ich die Situation verständlich beschrieben habe....
Ich will nun die Parameterdaten in ein Array schreiben.
Und jetzt kommt meine Frage:
Kann ich im "Hauptprogramm" ein Array ($aParameter) erzeugen, 3 ZipProgramme (Call...-Aufruf) ausführen und von diesen auf das Array $aParameter zugreifen? Also kann ich ein Array "Über - global" stellen damit mehrere zugreifen können?
Ich könnte auch das Array in eine TXT schreiben und so die Daten übertragen... Aber geht es kürzer ????
Vorab vielen Dank