![]() |
*.bat Datei wird nicht richtig ausgeführt
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
ich habe ein Programm, welches eine *.bat Datei ausführen soll. Für den Aufruf verwende ich folgenden Befehl:
Delphi-Quellcode:
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...
ShellExecute(self.handle, 'OPEN','F:\Datenupdate\DatenbankUpdate 11.02.2010\RUNQRY_AEPH\AEPH_001\Test.bat', '', '', SW_Show);
Wenn ich die Datei via Doppelklick öffne, funktioniert sie wunderbar. Folgender Inhalt steht in der BAT-Datei Zitat:
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 |
Re: *.bat Datei wird nicht richtig ausgeführt
hast es mal mit absoluten Pfaden im Batchfile versucht?
|
Re: *.bat Datei wird nicht richtig ausgeführt
schon versucht ?
Delphi-Quellcode:
ShellExecute(self.handle, 'OPEN','Test.bat', nil, 'F:\Datenupdate\DatenbankUpdate 11.02.2010\RUNQRY_AEPH\AEPH_001\', SW_Show);
![]() |
Re: *.bat Datei wird nicht richtig ausgeführt
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; |
Re: *.bat Datei wird nicht richtig ausgeführt
cmd echo /? ECHO ohne was, gibt den Status von ECHO aus.
Code:
Der Punkt direkt in Anschluß besagt, daß du nur eine Leerzeile willst.
echo.
PS: Schneller Finger ... ein "PAUSE"-Befehl am Ende der Batch, gibt ein bissl mehr Zeit :zwinker: PSS: warum rufst du rtopcb nicht direkt auf? |
Re: *.bat Datei wird nicht richtig ausgeführt
Hallo zusammen,
vielen Dank für die schnellen Antworten! mit turboPASCAL Lösung bin ich weiter gekommen. Zitat:
Gruß Ykcim |
Re: *.bat Datei wird nicht richtig ausgeführt
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 |
Re: *.bat Datei wird nicht richtig ausgeführt
Such mal in der MS-Hilfe nach "Batch" bzw. "Batchdateien".
Gruß K-H |
Re: *.bat Datei wird nicht richtig ausgeführt
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) |
Re: *.bat Datei wird nicht richtig ausgeführt
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. :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz