Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   WinSCP aus Delphi starten (https://www.delphipraxis.net/164447-winscp-aus-delphi-starten.html)

GerhardS 13. Nov 2011 17:57

WinSCP aus Delphi starten
 
Hallo,
um WinSCP von der Kommandozeile zu starten, benutze ich folgende Batch-Datei:
cd C:\Program Files (x86)\WinSCP
winscp.exe /ini=WinSCP.ini /log=logfile.txt /console /script=C:\Users\user\Documents\upload1.txt

Jetzt möchte ich diesen Befehl aus einer VCL-Anwendung heraus aufrufen. Leider geht folgender Code unter Delphi XE nicht:
Code:
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var clstr: PWideChar;
begin
clstr := 'C:\Program Files (x86)\WinSCP\winscp.exe /ini=WinSCP.ini /log=logfile.txt /console /script=C:\Users\user\Documents\upload1.txt';
ShellExecute(0, nil, 'cmd.exe',clstr, nil, SW_SHOWNORMAL);
Sleep(1000);
Memo1.Lines.LoadFromFile('C:\Program Files (x86)\WinSCP\logfile.txt');
end;
Kann mir jemand auf die Sprünge helfen?

daywalker9 13. Nov 2011 18:06

AW: WinSCP aus Delphi starten
 
Warum startest Du die cmd.exe?

Du solltest direkt die WinSCP.exe starten und die Parameter separat übergeben an Shellexecute.

GerhardS 13. Nov 2011 18:22

AW: WinSCP aus Delphi starten
 
Weil WinSCP Skripts nur über die Konsole verarbeitet, nicht als Parameter beim Aufruf über das Windows GUI.

Bummi 13. Nov 2011 19:40

AW: WinSCP aus Delphi starten
 
versuchs mal mit AnsiQuotedStr bzw. " zumindest um die Pfade ....

himitsu 13. Nov 2011 20:09

AW: WinSCP aus Delphi starten
 
Jupp, vorallem wegen der Leerzeichen im Pfad, fehlt das Quote
und ...

Schau dir mal an, wie man dem CMD diesen Parameter übergibt. (siehe
Delphi-Quellcode:
cmd /?
)


Ansonsten würde ich auch eher dazu raten, das WinSCP direkt aufzurufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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