LS: Starten eines Batchfiles

  • Mahlzeit!


    Mal eine -vermutlich windowsspezifische- Frage zum Starten von Batchfiles per 'Shell'-Funktion:


    Ein simples res = Shell(dingelskirchen.cmd) tut nicht, die .cmd wird gar nicht erst gestartet. Hingegen tut res = Shell(cmd.exe /c dingelskirchen.cmd). Unter Linux tut alleine der Name des Shellskripts, ohne vorangestelltes /bin/zsh... Warum ist das so?


    v7.0.2FP2 unter W2k3



    THX in advance!
    RW

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Unterschiedliche Arbeitsweise der Systeme:


    Unter Linux tut es auch nur dann wenn das Script das Executable Flag hat. Dann zieht sich Linux automatisch den zu verwendenden Interpreter anhand der ersten Zeile des Scriptes. Ansonsten musst du es ebenfalls mit der entsprechenden Shell starten.


    Unter Windows gibt es das Flag nicht, sondern das ist eine Verknüpfung wie bei Word- oder sonstigen Anwendungsdateien

  • Joah, wie alles wird es in der Registry vergraben, schon klar. Nur: warum bekommt Winschrott das nicht mit, wenn der Domino eine CMD starten will? Wenn ich im Exploder draufpappe, versteht Windoof ja auch, was ich von ihm verlange. Im Endeffekt tun der Domino und ich ja das selbe: starten einer Datei, deren Endung bekannt und mit einem entsprechenden Programm verknüpft ist. Oder was tut der Domino da anders als ich?

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Nein eben nicht.


    Weil das eben im Explorer entsprechend codiert ist, daß dieser in der Registry nachschaut.
    Dummerweise wird das eben nicht auf Systemebene bei Windows gemacht, sondern ist eben nur im Explorer codiert, d.h Domino müsste die ganze Funktionalität plattformabhängig für Windows nachprogrammieren.
    Der Explorer gibt nachher an das System auch genau diesen verlängerten Aufruf weiter, d.h. ein "cmd.exe /c dingelskirchen.cmd"


    Bei Linux ist das eben schon auf Systemebene so gemacht.

  • Hmpf! Hab ich schonmal gesagt, dass ich Winschrott hasse?
    Nunja, ich prüfe nun se.Plattform ab und Shell-e dann halt entsprechend.


    Dank dir!

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag

    ????


    also im Explorer kann dies nicht verdrahtet sein, weil es in einer MS-Dos-Eingabeaufforderung auch funktioniert.


    Und bei mir funktioniert der Aufruf:
    TaskID = Shell("c:\meine.cmd",1)
    Dies verwende ich schon seit mehreren Jahren (ab Notes und Domino Version 4.x) und in verschiedenen Scripten.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • So, nun bin ich ganz verwirrt...


    1) Bisher hab ich mir die 1 dahinter geklemmt, mit dem beschriebenen Effekt. Mit 1 dahinter tut es lustigerweise.


    2) Anstatt den Pfad hart reinzucoden, verwende ich eine Variable. Verwende ich stattdessen zu Testzwecken eine feste Pfadangabe, tuts auch wieder ohne 1.


    Diesen Effekt kann ich allerdings auch nur mit dieser Version nachvollziehen. Ein 8.5HF211 benimmt sich manierlich.


    Diese Dominos schaffen mich noch! Wo ist ein Exchange, wenn man mal einen braucht?^^ :undweg:

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Diali


    Und wieso nicht ?


    Die MS-Dos Eingabeaufforderung ist der Interpreter von CMD-Files und damit muss er nicht mehr separat gestartet werden.


    Ich muß ja wenn ich im Word ein anderes Word File öffne nicht auch noch mal Word starten

    • Offizieller Beitrag
    Zitat

    ... MS-Dos Eingabeaufforderung ist der Interpreter von CMD-Files ...

    von der Seite habe ich es noch gar nicht betrachtet.


    Mit dem 2. Parameter kannst Du steuern, ob das Fenster einen Fokus bekommt und ob es maximiert oder minimiert angezeigt wird. Allerdings sollte dies auch ohne Parameter gehen, da laut Hilfe es sich im eine Option handelt. Ist wahrscheinlich ein Bug in der beschriebenen Domino-Version.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein