Thread system-Befehl führt *.pl aus, aber keine *.bat (10 answers)
Opened by musambani at 2007-11-29 13:18

musambani
 2007-11-29 13:18
#103255 #103255
User since
2007-11-29
7 Artikel
BenutzerIn
[default_avatar]
Hi!
Hoffe, mir kann hier jemand helfen...
Ganz von vorne: Ich habe ein Programm (Tosca), daß die *.exe eines anderen Programms (Abaqus) aufruft. Den Pfad zu dieser *.exe kann ich in der Konfiguration von Tosca einstellen. Ich habe ein Perl-Skript, daß zwischen den beiden Programmen Tosca und Abaqus sitzt (die Dateien, die zwischen beiden Programmen ausgetauscht werden, werden damit etwas manipuliert), das ich auch an Stelle der *.exe von Abaqus angeben kann. Fuktioniert auch wunderbar (Tosca startet mein Skript, mein Skript startet Abaqus).
Aber: sobald ich im Perlskript an einen Punkt komme, wo der "system"-Aufruf auftaucht, wird dieser nicht ausgeführt. Ich habe das Problem so weit reduzieren können, daß mein aktuelles Skript inzwischen nurnoch aus dem Erstellen eines neuen Ordners und dem Aufruf einer *.bat-Datei besteht, die einen neuen Ordner erstellt (Es werden also zwei Ordner erstellt mit unterschiedlichen Namen, einer direkt vom Skript, einer von der *.bat-Datei). Wenn ich das Skript per Hand starte, funktioniert alles tadellos, wenn das Skript von Tosca gestartet wird, bekomme ich nur den Ordner, den das Skript erstellt hat.
Weiter komisch ist, daß in meinem tatsächlichen Skript (also nicht das abgespeckte), auch an anderen Stellen der system-Befehl auftaucht; an diesen Stellen werden allerdings nur *.pl-Skripts ausgeführt, was auch tadellos funktioniert.
Also, kurz: ein Perlskript schafft es nicht, per System-Aufruf eine bat-Datei zu starten (wenn das Skript nich von Hand, sondern von einem Programm gestartet wurde).

Vielen Dank schonmal! Sitze da schon seit ein paar Tagen dran...

btw: angeblich hat mein Vorgänger das Problem auch schon gehabt. Er hat es aber nur unter Linux in den Griff bekommen.....

View full thread system-Befehl führt *.pl aus, aber keine *.bat