AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein *.bat Datei wird nicht richtig ausgeführt
Thema durchsuchen
Ansicht
Themen-Optionen

*.bat Datei wird nicht richtig ausgeführt

Ein Thema von Ykcim · begonnen am 11. Feb 2010 · letzter Beitrag vom 12. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2      
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
826 Beiträge
 
Delphi 10.4 Sydney
 
#1

*.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:13
Hallo Zusammen,

ich habe ein Programm, welches eine *.bat Datei ausführen soll. Für den Aufruf verwende ich folgenden Befehl:
ShellExecute(self.handle, 'OPEN','F:\Datenupdate\DatenbankUpdate 11.02.2010\RUNQRY_AEPH\AEPH_001\Test.bat', '', '', SW_Show); Die Datei wird auch daraufhin kurz aufgerufen, aber sofort wieder geschlossen. Das wäre kein Problem, aber dummerweise macht sie auch nicht das, was sie soll - nämlich 2 Dateien von einem FTP-Server ziehen...

Wenn ich die Datei via Doppelklick öffne, funktioniert sie wunderbar.

Folgender Inhalt steht in der BAT-Datei

Zitat:
@echo off
echo "CSV-Datei abholen AEPH_001 Liefersituation 4 Wochen"
echo
rtopcb AEPH_001_CSV.dtf
echo
echo "Ende der Übertragung"
Kennt jemand ein solches Problem und gibt es dafür vielleicht auch eine Lösung?

Vielen Dank im Voraus

P.S. Ich habe mit einem irre schnelle Finger ein Screenshot gemacht, während es für einen Bruchteil zu sehen ist.

Ykcim
Miniaturansicht angehängter Grafiken
test005_105.jpg  
Patrick
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#2

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:31
hast es mal mit absoluten Pfaden im Batchfile versucht?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:33
schon versucht ?

ShellExecute(self.handle, 'OPEN','Test.bat', nil, 'F:\Datenupdate\DatenbankUpdate 11.02.2010\RUNQRY_AEPH\AEPH_001\', SW_Show); Hier im Forum suchenShellExecute ?!
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:33
Teste mal das:
Delphi-Quellcode:
    {Execute batch file}
    StrPCopy(Templine, 'temp.bat');
    TaskHandle := ShellExecute(frmMain.Handle, NIL, 'command.com',
                  templine,
                  Tempdir,
                  SW_MINIMIZE);

//and monitor it with a function like this:

    function CheckTask(hInstance: WORD): Boolean;
    var
        TaskInfo: TTASKENTRY;
        RetVal: Boolean;
    begin
        TaskInfo.dwSize := SizeOf(TTASKENTRY);
        RetVal := FALSE;
        if(TaskFirst(@TaskInfo)) then
        begin
            repeat
                if(TaskInfo.hInst = hInstance) then
                begin
                    RetVal := TRUE;
                    Break;
                end;
            until (TaskNext(@TaskInfo) = FALSE);
        end;
        CheckTask := RetVal;
    end;

(*This runs down the task list, trying to find the task with the specified
Hinstance, returning true if it is still there. To use this function,
simply call it in a loop like this*)


    while CheckTask(TaskHandle) do
    begin
        Application.ProcessMessages;
    end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:34
cmd
echo /?

ECHO ohne was, gibt den Status von ECHO aus.

Code:
echo.
Der Punkt direkt in Anschluß besagt, daß du nur eine Leerzeile willst.


PS: Schneller Finger ... ein "PAUSE"-Befehl am Ende der Batch, gibt ein bissl mehr Zeit

PSS: warum rufst du rtopcb nicht direkt auf?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
826 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:52
Hallo zusammen,

vielen Dank für die schnellen Antworten!

mit turboPASCAL Lösung bin ich weiter gekommen.

Zitat:
ShellExecute(self.handle, 'OPEN','Test.bat', nil, 'F:\Datenupdate\DatenbankUpdate 11.02.2010\RUNQRY_AEPH\AEPH_001\', SW_Show);
Vielen Dank für die Hilfe!!!

Gruß

Ykcim
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
826 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:53
Ich habe die Batch-Datei von einem MA aus der EDV erstellen lassen. Ich habe das noch nie gemacht und habe keine Ahnung davon. Gibt es irgendwo eine Übersicht, wie die Datei aufgebaut sein muss, welche Regeln zu beachten sind und welche Möglichkeiten man hat?

Danke

Ykcim
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 17:57
Such mal in der MS-Hilfe nach "Batch" bzw. "Batchdateien".

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 18:07
Die korrekte Schreibweise des "Verbs" zum Öffnen lautet übrigens 'open' und nicht 'OPEN'.
Neben 'open gibt es für *.bat und *.cmd - Dateien auch noch die Verben 'edit' und 'print'.

Ich glaube ich muss auch mal wieder auf den Unterschied zwischen *.bat und *.cmd Dateien hinweisen.
Code:
*.bat -> wird von COMMAND.COM ausgeführt (veraltet)
*.cmd -> wird von cmd.exe ausgeführt (sollte unter Windows bevorzugt werden)
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#10

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 11. Feb 2010, 18:13
Startmenü > Programme > Zubehöhr > Eingabeaufforderung
oder
Ausführen "cmd"

dort "help" eingeben
und "befehl /?" gibt weiterführende Hilfe

Es gibt zwar auch hier und da Webseiten, aber so hat man alles aus erster Hand.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz