Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dos Programme ausführen (erweitert..) (https://www.delphipraxis.net/56408-dos-programme-ausfuehren-erweitert.html)

edosoft 5. Nov 2005 01:23


Dos Programme ausführen (erweitert..)
 
Hallo,

Also ums kurtz zu machen: ich will über plink eine verbindung zum server aufbauen (ssh) und ein paar daten eintippen. das geht so:

echo username:passwort:beschreibung:gid|putty.exe -l user-add -pw *** eis

wie ihr sicher schon gemerkt habt: "putty.exe -l user-add -pw *** eis" is der eigentliche befehl (mit parametern) und der rest soll da quasi reingetippt werden. inner dosbox und unter linux gehts so :D wie kan ich sowas am besten mit delphi machen?


Danke schonmal im vorraus!

mfg,
Dominik

edosoft 5. Nov 2005 14:14

Re: Dos Programme ausführen (erweitert..)
 
hallo,

ich war mir nich sicher ob oihr des verstanden habt... des ist quasi wie wenn ich inner dosbox format c: eingeb und dann in die abfrage(ja/nein) ein ja reintippen will. wie kann ivch des dann am besten mit delphi machen? also dieses "ja" automatisch "reintippen"?

thnx in advance.

BenjaminH 5. Nov 2005 14:23

Re: Dos Programme ausführen (erweitert..)
 
Imho ist alles nach echo nur Parameter.
Versuchs doch mal mit ShellExecute.

ichbins 5. Nov 2005 14:56

Re: Dos Programme ausführen (erweitert..)
 
probier eine Batchdatei.
Das is eine Scriptdatei mit der Endung *.bat.
Delphi-Quellcode:
var
  t:textfile;
begin
  assignfile(t,'C:\tmp.bat');
  reset(t);
  writeln(t,'@echo off');
  writeln(t,'echo username:passwort:beschreibung:gid|putty.exe -l user-add -pw *** eis ');
  writeln(t,'putty.exe -l user-add -pw *** eis');
  //falls die Batch auf Usereingabe warten soll: writeln(t,'pause');
  closefile(t);
  shellexecute('C:\tmp.bat'...
end;

SirThornberry 5. Nov 2005 15:00

Re: Dos Programme ausführen (erweitert..)
 
mit "cmd /C" kann man auch befehle dierekt an die Console übergeben. Folgendes Beispiel zeigt al
Delphi-Quellcode:
ShellExecute(0, 'open', 'cmd', '/C DeinBefehl', nil, 0);

edosoft 6. Nov 2005 00:41

Re: Dos Programme ausführen (erweitert..)
 
wenn ich die ausgabe des dos programms lesen will muss ich ja sone pipe machen. kann ich über die nicht vielleicht auch schreiben?
bat dateien will ich nicht des ist mir zu umständlich und zu unsicher da auch passwörter als parameter angegeben werden und man weis ja nie was mit solche dateien passiert :D

turboPASCAL 6. Nov 2005 07:48

Re: Dos Programme ausführen (erweitert..)
 
Zitat:

Zitat von edosoft
wenn ich die ausgabe des dos programms lesen will muss ich ja sone pipe machen. kann ich über die nicht vielleicht auch schreiben?

Über eine Pipe leitest du den Text den Putty ausgibt in ein Memo oder so um, Text den du senden willst übergibst du, zB. aus einem Editfeld, an Putty.exe mit shellexecute. Batchdateien braucht man da nicht.

edosoft 6. Nov 2005 13:56

Re: Dos Programme ausführen (erweitert..)
 
hi,

ich habs jetzt sleber rausgefunden: mit dem Hier im Forum suchenTDosCommand geht des
ziemlich gut und zwar so:

Delphi-Quellcode:
DosCommand1.CommandLine := 'plink.exe -l user-add -pw *** eis'; //befehl eingeben mit parametern
DosCommand1.Execute; //ausführen
DosCommand1.SendLine('username:passwort:beschreibung:gid', true); //text "reintippen"


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