![]() |
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:
Kann mir jemand auf die Sprünge helfen?
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; |
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. |
AW: WinSCP aus Delphi starten
Weil WinSCP Skripts nur über die Konsole verarbeitet, nicht als Parameter beim Aufruf über das Windows GUI.
|
AW: WinSCP aus Delphi starten
versuchs mal mit AnsiQuotedStr bzw. " zumindest um die Pfade ....
|
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