SirPaddy: .bat-Datei starten 'ohne bösen Hintergedanken'

Hallo an alle ...

... ich muss das Thema einer meiner Vorposter nochmal aufgreifen - da das aber - wie schon gelesen - leicht missverstanden werden kann Vorab meine Intention : Ich habe mir in C++ ein Programm geschrieben, welches knapp 50.000 pdf-Dokumente sortiert und mir ein HTML-Gerüst zum Aufruf bastelt. Jedes Dokument soll auf zwei verschiedene Arten aufgerufen werden können - zum einen 'normal' mit dem IE-Plugin, zum anderen in der Acrobat Vollversion. Deshalb zeige ich mit dem zweiten Link auf eine Batch-Datei, die mir den Acrobat zum bearbeiten der Dokumente auch startet - soweit funktioniert es auch, aber leider bekomme ich es nicht hin, der Batch-Datei einen Parameter in Form des absoluten Pfades für das PDF mitzugeben. Mein Aufruf sieht wie folgt aus :

<a href="C:\Batch\Aufrufdatei.bat?C:\PDF\pdf01.pdf">

In der Batch-Datei wird dann die Vollversion aufgerufen und der Pfad hinter dem ? soll als Parameter dienen, damit Acrobat mit dem gewählten PDF starten - die %1-Variable ist aber leider leer. Kann ich davon ausgehen das dies generell nicht möglich ist ? - Das die Variable irgendwo im Nirvana verschwindet ?

Ich möchte nochmals betonen um jeglicher Schelte auszuweichen : Ich bin kein Dialer-Viren-Gedöhnsrat-Programmierer. Diese Anwendung läuft in unserem Firmennetzwerk und dient zur Ansicht/Bearbeitung von CAD-Dokumenten, die in .pdf_Form generiert werden. Ich steuere  meine Arbeitskraft also dem Bruttosozialprodukt bei. Kann mir da jemand einen Tip geben ? ...

Grüsse an alle ... Thomas

  1. hi,

    <a href="C:\Batch\Aufrufdatei.bat?C:\PDF\pdf01.pdf">

    In der Batch-Datei wird dann die Vollversion aufgerufen und der Pfad hinter dem ? soll als Parameter dienen, damit Acrobat mit dem gewählten PDF starten - die %1-Variable ist aber leider leer.

    seit wann werden dann parameter mit einem fragezeichen an batch-dateien übergeben?

    soweit ich weiss, ruft man die mit
    bachtdateiname [leerzeichen] parameter1 [leerzeichen] parameter2 etc.
    auf.

    ob dies auch in einem html-link funktioniert, bezweifle ich aber.

    gruss,
    wahsaga

    1. seit wann werden dann parameter mit einem fragezeichen an batch-dateien übergeben?

      soweit ich weiss, ruft man die mit
      bachtdateiname [leerzeichen] parameter1 [leerzeichen] parameter2 etc.
      auf.

      ob dies auch in einem html-link funktioniert, bezweifle ich aber.

      gruss,
      wahsaga

      Das ist es ja gerade ! - In HTML kann ich hinter dem Fragezeichen Parameter an das nächste Fenster übergeben - aber nicht an 'ne Batch. Mache ich ein Leerzeichen dazwischen, so interpretiert der Browser das als 20% und somit den Dateiaufruf und den Parameter als einen gemeinsamen Verweis. Deshalb frage ich ja wie man das umgehen? anders regeln? machen? bewerkstelligen kann ...

      Gruss ... Thomas

      1. Hallo Thomas!

        Nur mal ne Idee, ich weiß nicht, wie ich drauf komme: probier mal ein Plus-Zeichen (+) zur Parameterübergabe. Vielleicht funktioniert das.

        Gruß

        mdkiller

  2. [...] Deshalb zeige ich mit dem zweiten Link auf eine Batch-Datei, die mir den Acrobat zum bearbeiten der Dokumente auch startet - soweit funktioniert es auch, aber leider bekomme ich es nicht hin, der Batch-Datei einen Parameter in Form des absoluten Pfades für das PDF mitzugeben.

    Als etwas kompliziertere Alternativlösung könntest du statt direkt auf die .bat einen Link auf ein CGI-Skript setzen, das sich beispielsweise über die Session oder über die IP den Namen des angeforderten PDF merkt und eine Weiterleitung auf die .bat zurückgibt. Diese wird dann ausgeführt und fragt ihrerseits beispielsweise über wget den Namen des zuletzt angeforderten PDF über besagtes Skript an und öffnet dieses dann mit dem Acrobat Reader.

  3. Hallo Thomas!

    ... Vorab meine Intention : Ich habe mir in C++ ein Programm geschrieben, welches knapp 50.000 pdf-Dokumente sortiert und mir ein HTML-Gerüst zum Aufruf bastelt. Jedes Dokument soll auf zwei verschiedene Arten aufgerufen werden können - zum einen 'normal' mit dem IE-Plugin, zum anderen in der Acrobat Vollversion.

    <a href="C:\Batch\Aufrufdatei.bat?C:\PDF\pdf01.pdf">

    In der Batch-Datei wird dann die Vollversion aufgerufen und der Pfad hinter dem ? soll als Parameter dienen, damit Acrobat mit dem gewählten PDF starten - die %1-Variable ist aber leider leer. Kann ich davon ausgehen das dies generell nicht möglich ist ? - Das die Variable irgendwo im Nirvana verschwindet ?

    Du gibst folgende Rahmenbedinigen bekannt:
    1. Intranet
    2. IE
    3. PDF über Laufwerk und nicht über http zu öffnen

    Es beantwortet zwar nicht direkt Deine Frage, ist aber ein möglicher Lösungsansatz:
    <html>
    <head>
    <title>Öffnen von Dateien wie mit Doppelklick darauf</title>
    <SCRIPT LANGUAGE="VBScript">
    <!--
    Dim wsh
    Function Open(Param)
     Set Shell= CreateObject("Shell.Application")
     Shell.open (Param)
    End Function
    -->
    </SCRIPT>
    </head>
    <body>
    <a name='Test' onClick='Open("C:\PDF\pdf01.pdf")'><u>Acrobat</u></a>
    <a href="C:\PDF\pdf01.pdf">IE</a><br>
    </body>
    </html>

    Dein C-Programm müsstest Du entsprechend anpassen.

    Viele Grüße

    H-P Ortner