[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2015
    Beiträge
    22

    Script --> Aufruf über STRPCCMD

    Hallo,

    ich möchte via STRPCCMD ein Scipt samt Parameter aufrufen. Als Parameter soll ein Pfad übergeben werden. Dieser Pfad ist allerdings mit Leerzeichen und die Übergabe funktioniert nicht.
    set fs=createobject("wscript.shell")
    set ag=wscript.arguments
    fs.run ag(0), 1

    diesen script möchte ich dann mit Parameter aufrufen:

    test.vbs "c:\das ist ein Test\Start Programm.exe -par1 -par2 -par3"

    Kann mir hier wer helfen?

    LG,
    Roman

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    test.vbs "c:\das ist ein Test\Start Programm.exe" "-par1" "-par2" "-par3"
    Dann kann die vbs-Runtime jeweils 1 Parameter daraus machen.

    Bedenke aber folgendes:
    Die Gesamtlänge des PC-Befehls darf 123 (leider) nicht unterschreiten.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2015
    Beiträge
    22
    funktioniert leider schon nicht wenn ich nur den Programmaufruf mitschicken:

    test.vbs "c:\das ist ein Test\Start Programm.exe"

    ergibt bereits einen Fehler

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    und welchen denn nun?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Mar 2015
    Beiträge
    22
    Fehler: Das System kann die angegebene Datei nicht finden.
    Code: 800700002
    Quelle: (null)

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Nunja, das zu übergebende Kommando muss dann auch wieder in Anführungsstriche gepackt werden.
    Der 1. Commandprocessor entfernt die Anführungszeichen also musst du diese verdoppeln:
    test.vbs """c:\das ist ein Test\Start Programm.exe"" ""-par1"" ""-par2"" ""-par3"""

    ggf. wird es übersichtlicher wenn du Hochkommata verwendest (fast gleichwertig), allerdings musst du diese auf der AS/400 verdoppeln.

    STRPCCMD PCCMD('test.vbs ''"c:\das ist ein Test\Start Programm.exe" "-p1" "-p2"''')

    Es ist etwas schwierig zu erklären.
    Die äußeren HK's sind für das AS/400 Kommando, deshalb müssen die inneren HK's verdoppelt werden.
    Der PC-Commandprozessor wertet nun die Anfürungszeichen des übergebenen Strings aus und teilt diese dann wieder in Argumete wobei das 1. Argument das aufzurufende Programm ist.

    Du kannst das natürlich auch im VBS machen und das Kommando an hand der übergebenen Parameter dann zusammenstoppeln.

    Soweit ich allerdings in Erinnerung habe ist das ag(0) das eigene Programm.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. CPF4131 im CL beim Aufruf abfangen
    By karela66 in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 13-08-15, 10:26
  2. aufruf von qstrup
    By rr2001 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 27-05-14, 14:44
  3. Pointer ins Nirwana nach Proc Aufruf???
    By AndreasH in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-09-02, 12:00
  4. Aufruf einer PC Anzeige von der AS/400 aus
    By it-wolf in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 19-07-02, 17:27
  5. Frage zu RPG: Aufruf RPG-Programm mit Parametern
    By hs in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 09-10-01, 13:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •