tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
713
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    RedWraith RedWraith ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Beiträge
    61
    Hallo !

    Es ist mir ein bisschen peinlich, dass zuzugeben, aber ich habe ein Problem mit zwei kleinen Batchskripten.

    Ich habe folgende Ordnerstruktur:
    Code :
    1
    2
    3
    
    C:\task\app1\myapp.exe
    C:\task\app1\myapp.bat
    C:\task\start.bat

    Die Datei C:\task\start.bat sieht so aus:
    Code :
    1
    2
    3
    4
    
    @echo off
    rem app1 starten
    call .\app1\myapp.bat
    @echo on

    Die Datei C:\task\app1\myapp.bat sieht so aus:
    Code :
    1
    2
    
    rem starte app1
    myapp.exe

    Wenn ich die myapp.bat aufrufe, funktioniert das auch wunderbar, aber wenn ich die start.bat aufrufe, bekomme ich den Fehler, dass die datei myapp.exe nicht gefunden wurde.

    Ich gehe davon aus, dass es daran liegt, dass der Ausführungspfad unterschiedlich ist und die exe deswegen nicht gefunden wird.

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    myapp.bat ausführen:
    Ausführungspfad=C:\task\app1\
    myapp.exe wird gefunden
     
    start.bat ausführen:
    Ausführungspfad=C:\task\
    myapp.exe wird nicht gefunden

    Die Frage ist nun, wie ich myapp.bat in start.bat aufrufen muss, damit in der myapp.bat der richtige 'Ort der Ausführung' angegeben wird ?
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.

    Man kann das aktuelle Verzeichnis der gerade ausgeführten Batch-Datei folgendermaßen bestimmen:
    Code :
    1
    
    %~dp0
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    RedWraith RedWraith ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Beiträge
    61
    Hi !

    Um oben genannten Fehler zu vermeiden, starte ich die Batches jetzt wie folgt:

    Code :
    1
    
    Start /D %~dp0app1\ /WAIT myapp.bat

    Das funktioniert wunderbar.
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.

    Warum so kompiliziert?

    Verwende doch in der myapp.bat einfach
    Code :
    1
    
    %~dp0myapp.exe
    So kannst du die myapp.bat von einem beliebigen Verzeichnis aufrufen.

    Oder du könntest in der start.bat einfach das Verzeichnis wechseln:
    Code :
    1
    2
    
    cd /d %~dp0app1
    call myapp.bat
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Batch Dateien aufrufen
    Von ICHE9 im Forum Java
    Antworten: 2
    Letzter Beitrag: 28.08.08, 09:51
  2. Antworten: 6
    Letzter Beitrag: 19.11.06, 17:34
  3. Mit Batch Firefox starten und IP aufrufen
    Von Leola13 im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 31.07.06, 23:05
  4. Shell Script von einem Unterverzeichnis aufrufen?
    Von MartinPrange im Forum Linux & Unix
    Antworten: 4
    Letzter Beitrag: 17.05.04, 07:25
  5. batch dateien mit dem at-befehl aufrufen
    Von matzedias im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 31.07.03, 20:50