Office: (Office 2010) Shell Aufruf einer Batch

Helfe beim Thema Shell Aufruf einer Batch in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, eine kurze Frage bzgl. Aufruf einer Batch-Datei. Diese kopiert für eine andere Perl-Anwendung eine Konfigurationsdatei und startet diese... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von thomasreick, 1. September 2014.

  1. Shell Aufruf einer Batch


    Hallo Forum,

    eine kurze Frage bzgl. Aufruf einer Batch-Datei.
    Diese kopiert für eine andere Perl-Anwendung eine Konfigurationsdatei und startet diese im Anschluß. Bei manueller Ausführung passiert das auch. Löse ich aber den Aufruf der Batch per Buttonclick an kommt ganz kurz das cmd-Fenster und nix weiter passiert.

    Ich bitte um Hinweise, was ich tun muss.

    Danke
    T.

    Mein Code:
    Code:
    :)
     
    thomasreick, 1. September 2014
    #1
  2. Hallo,

    füge doch mal testweise den Befehl „pause“ unten an die Batch-Datei an, dann siehst du ggf. die ganze Fehlermeldung.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    stendate, 2. September 2014
    #2
  3. Hallo stendate,
    ich habe keine Änderungsrechte an der Batch. Die ist von anderen programmiert worden und läuft als separat ausgelöste Aktion ja fehlerfrei durch.

    Nur mit dem Buttonaufruf hängt es.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    thomasreick, 2. September 2014
    #3
  4. Shell Aufruf einer Batch

    Hi,

    Hm... dann öffne selbst ein Batch-Fenster (cmd.exe) und ruf den Pfad so auf wie er von deinem VBA-Code zusammengestellt wird. Das sollte dann hoffentlich auch nicht funktionieren und eine Fehlermeldung bringen.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    stendate, 2. September 2014
    #4
  5. Normalerweise erwartet Shell im Commandstring erst die ausführende Anwendung und dann den Pfad der auszuführenden Datei.

    Aufrufe mit FollowHyperlink oder (anwendungssicherer) mit ShellExecute führen eine Datei unmitelbar mit der damit verknüpften Anwendung aus.
     
  6. Hi,

    und das steht wo? Der Hilfe entnehme ich:

    Code:
    Der Aufruf passt soweit, und dass das cmd-Fenster kurz aufgeht zeigt auch, dass das Script zumindest gestartet wird und existieren sollte.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    stendate, 2. September 2014
    #6
  7. Aus der von Dir genannten Quelle:
    Hier wird primär eine Anwendung nachgefragt, eine zusätzliche zu öffnende Datei wäre eines der zusätzlichen Argumente.

    Eine Batchdatei ist eine ausführbare Textdatei, aber doch wohl kaum ein eigenständiges Programm.

    Zum Vergleich: Man versuche mal, per Shell ein PDF oder ein WordDoc zu öffnen.

    Code:
    Wie wäre es mit dieser Erweiterung?
     
  8. Shell Aufruf einer Batch

    Das ist der Shell wurscht.

    Diese Dateitypen sind nicht ausführbar, das ist allgemein bekannt.

    Wie wäre es mit dieser Erweiterung?

    Das ist nun genau der Fall der nicht geht. Folgendes sollte funktionieren:

    Code:
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    stendate, 2. September 2014
    #8
  9. Wenn ich aus Unkenntnis zusätzlich notwendige Flags unterschlagen habe, möge man bitte verzeihen.
     
  10. Hallo, nochmal ich...
    ich hatte das Thema ein wenig auf Eis gelegt.....

    Ich konnte doch Schreibzugriff bekommen und habe den Tipp mit der Pause eingebaut. Wenn ich das per Buttonclick im Access-Fomular ausführe kommt in der DOS-Box der im Screenshot abgebildete Hinweis.

    Was kann da denn tun?

    Die Batchdatei ist liegt lokal auf Laufwerk C vor. Eine lokale Verknüpfung zu dieser liegt auf dem Desktop. Wird diese betätigt, funktioniert die Prozedur wie gewollt. Nur mit Click auf den Button will sie nicht....

    Könnt Ihr mir bitte noch Lösungsansätze geben?

    Vielen Dank
    Thomas Reick
     
    thomasreick, 9. September 2014
    #10
  11. Hi
    so wie ich da sehen steht die Fehlermeldung in der Dosbox.
    "UNC Pfade werden nicht unterstützt"
    Du rufst aber einen Batch auf einer $freigabe auf. Also auf einem UNC Pfad.

    Ich denke das ist das Problem

    gruss Andreas

    P.S. wenn ich auf dem Holzweg bin dann sorry
     
  12. Hallo Andreas,
    danke für die Antwort. Meine Frage ist wohl auch wie ich den UNC-Pfad "umgehen" kann.....

    Noch jemand einen Hinweis?
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    thomasreick, 9. September 2014
    #12
  13. Shell Aufruf einer Batch

    Hallo,

    die Angabe eines unc-Pfades umgeht man indem ein Mapping eingerichtet wird. Siehe dazu den Befehl "net use /?".
     
    el_gomero, 9. September 2014
    #13
  14. Hallo Thomas,

    Das sieht so aus als wenn das aktuelle Arbeitsverzeichnis nicht explizit gesetzt wird, wenn die bat-Datei in C:\test\text.bat liegt, dann schreib an den Anfang der Bat-Datei ein cd "c:\test\".

    Ursache ist, dass VBA.Shell() das aktuelle Arbeitsverzeichnis von Access übernimmt.
    Der Doppelklick auf die Bat-Datei hingegen setzt den Pfad auf den Ablageort der Datei selbst.
    Das kann man leicht ausprobieren wenn man sich eine kurze Bat-Datei mit einem dir und einer pause schreibt und den Aufruf in beiden Varianten vergleicht.


    PS: Die UNC-Pfad-Geschichte hat m.E. nix damit zu tun. Du kannst das reproduzieren indem du in einer Eingabeaufforderung cd \\myserver\myshare eingibst. Die Meldung besagt nur, dass cmd.exe das aktuelle Arbeitsverzeichnis nicht auf einen UNC-Pfad setzen kann. Die Powershell könnte sowas...

    HTH
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  15. Hallo nochmal

    @stendarte -> du siehst in dem angehängten Sreenshot deutlich \\ und eine $freigabe. Also ein UNC Pfad.
    cd funktioniert auch nicht auf einen UNCpfad

    Lösungsansätze: siehe Post von Jürgen

    du wirst um ein Laufwerksmapping wohl nicht herumkommen

    gruss Andreas
     
Thema:

Shell Aufruf einer Batch

Die Seite wird geladen...
  1. Shell Aufruf einer Batch - Similar Threads - Shell Aufruf Batch

  2. Shell Rückgabewert

    in Microsoft Excel Hilfe
    Shell Rückgabewert: Guten Tag, Ich habe ein kleines Programm geschrieben, dass sich einen Wert aus einer Zelle ausliest und mit Hilfe dieses Wertes den dazugehörigen Ordner mit dem Explorer öffnet. Alle simple...
  3. If Shell Programm ist beendet, DANN

    in Microsoft Excel Hilfe
    If Shell Programm ist beendet, DANN: Nabend an Alle, ich hab mal wieder eine Frage ^^ ja schonwieder... ich starte mit Code: Shell "C:Program FilesWindows Media Playerwmplayer.exe", 1 hier zB den MediaPlayer nun möchte ich...
  4. Mit "Shell" PDF Datei öffnen

    in Microsoft Excel Hilfe
    Mit "Shell" PDF Datei öffnen: Hallo Community, ich hoffe Ihr habt Euch nach dem Fussballfest von gestern gut erholt *grins Ich habe eine Frage zum Shell Befehl,und zwar möchte ich in einer Tabelle über einen Button eine...
  5. Shell-Befehl mit Leerzeichen im Dateinamen -> Fehler

    in Microsoft Excel Hilfe
    Shell-Befehl mit Leerzeichen im Dateinamen -> Fehler: Hallo, ich versuche hier krampfhaft ein PDF-Dokument via Shell aufzurufen. Im Dateinamen dazu sind Leerzeichen enthalten, die ein Problem für ihn darstellen es zu öffnen. Weiß jemand wie man...
  6. Shell-Funktion (Ausführen)

    in Microsoft Access Tutorials
    Shell-Funktion (Ausführen): Shell-Funktion (Ausführen) Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  7. Postfach via Shell einbinden

    in Microsoft Outlook Hilfe
    Postfach via Shell einbinden: Hallo zusammen, ich würde gerne ein Shellscript schreiben das mir erlaubt eine bestimmte Email Adresse in mein Postfach zu integrieren. Wie das manuell funktioniert weis ich. ->...
  8. VBA - shell-Befehl senden

    in Microsoft Excel Hilfe
    VBA - shell-Befehl senden: Hallo alle miteinander! :) Ich habe irgendwie ein Problem mit der shell-funktion.. Ich möchte, dass wenn ich auf einen Button klicke, ein Befehl an die Eingabeaufforderung gesendet wird....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden