Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anfänger:Befehl z.b.an cmd.exe zusammenfassen und übergeben? (https://www.delphipraxis.net/47721-anfaenger-befehl-z-b-cmd-exe-zusammenfassen-und-uebergeben.html)

SlowDown 15. Jun 2005 12:00


Anfänger:Befehl z.b.an cmd.exe zusammenfassen und übergeben?
 
Hallo, bin neu hier und hab eigentlich nur mit html was zu tun, drum tu ich mich mit der Syntax arg schwer. Bin gerade heute dabei mir etwas zusammenzupfrimlen für den hausgebrauch, komm aber nicht ganz klar.

habe eine kleine Programmoberfläche, mit der ich über Button Befehle an cmd, ping, netsh etc.. abgeben möchte..
hab nach langem lesen heute einen kleinen erfolg erzielt, der jedoch geradezu jämmerlich ist,

Code:
begin

 ShellExecute(
  hInstance, 'open', ('cmdoderpingusw.exe'),
  '/output:meinpfad.htm process get /format:htable ',
  nil,SW_SHOW );
 ShellExecute(
  hInstance, 'open', ('cmdoderpingusw'),
  '/output:meinpfad.htm service get /format:htable',
  nil,SW_SHOW );
end;
wie man sieht will ich mehrere Befehle zum abarbeiten übergeben, habs aber nur so hinbekommen,
was natürlich Blödsinn ist.
Ich würde es gerne zusammenkapseln, 4 5 6 Befehle hintereinander und dann soll das Ding wieder zugehen,und nur 1 Instanz soll natürlich angesprochen werden...
Desweiteren springt das Dosfenster kurz auf, kann ich das umgehen?? das stört..also der "lass dich bloss nicht blicken befehl" ;-)

Ausserdem versuch ich noch ne Funktion zu basteln, das man z.b. in ein editfeld nen Prozess angibt, und den dann mit dem taskkill von win abschießt, funzt das denn irgendwie?? Dann muss ich auf den virenverseuchten PCs zukünftig nimme solange in der command rumwursteln..
vielen Dank im Voraus..

Have a sunny Day...

jfheins 15. Jun 2005 14:12

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Zitat:

Zitat von SlowDown
Desweiteren springt das Dosfenster kurz auf, kann ich das umgehen?? das stört..also der "lass dich bloss nicht blicken befehl" ;-)

Rate mal, was passieren könnte, wenn du als letzten Parameter SW_HIDE statt SW_SHOW angibst ;)

SlowDown 15. Jun 2005 15:00

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
jetzt wollt ich grad sagen das ich das schon probiert hab, weil ich doch so bauernschlau bin und es dann net ging, hab aber grad bemerkt, das ich SHOW_HIDE geschrieben hab, ist natürlich net so der bringer..gg*
Danke...
Zum Rest hat keiner ne Ahnung? ich mag ungern ne batch datei aufrufen um des problem zu lösen ;-)

r2c2 15. Jun 2005 15:22

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Zitat:

Zitat von SlowDown
Zum Rest hat keiner ne Ahnung? ich mag ungern ne batch datei aufrufen um des problem zu lösen ;-)

Was is denn so schlimm sich ne Batch anzulegen, die auszuführen und anschließend wieder zu löschen? is doch das Einfachste.

mfg

Christian

SlowDown 15. Jun 2005 15:47

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Gegenfrage: Bin ich im Batch Forum oder im Delphi Forum?

freak4fun 15. Jun 2005 15:49

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Na, na. Habt euch lieb. :mrgreen:

Ich denke ShowDown wird seine Gründe haben. Und wenn er sie dir nicht sagen möchte musst du das akzeptieren, genauso wie ShowDown akzeptieren muss, das du keine bessere Lösung als eine Batchdatei hast. :thumb:

MfG
freak

r2c2 15. Jun 2005 16:18

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Zitat:

Zitat von freak4fun
Na, na. Habt euch lieb. :mrgreen:

Keine Angst wir werden uns schon nicht auffressen. :mrgreen:

Zitat:

Ich denke ShowDown wird seine Gründe haben. Und wenn er sie dir nicht sagen möchte musst du das akzeptieren,
Akzeptiert. :lol:

Zitat:

genauso wie ShowDown akzeptieren muss, das du keine bessere Lösung als eine Batchdatei hast. :thumb:
Das muss er nicht unbedingt. :wink: Ich habs zwar noch nicht ausprobiert, aber könnte man nicht cmd ausführen und alle weiteren Befehle als Parameter anhängen?

mfg

Christian

xineohp 15. Jun 2005 16:45

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
hi,

wo genau liegt den jetzt das Problem? Du möchtest mehrere Befehle abschicken? Sind die Befehle jeweils an das gleiche Programm gerichtet oder an verschiedene? Sind die Befehle voneinander abhängig, d.h. der erste ist zB. ein Login und der zweite der eigentliche Befehl?

Solange die Befehle unabhangig sind solltest du keine Probleme haben sie mit && zu verknüpfen. Was nicht funktionieren wird ist folgendes: Beispiel netsh: Du gibst netsh in die Konsole ein, dann ip oder ähnliches und alle weiteren Befehle laufen unter "netsh ip". Du wirst immer "netsh ip" Befehl eingeben müssen.
(hm, ob das jetzt verständlich war :gruebel: ... im Zweifels Fall ausprobieren..)

Im Prinzip gilt:
Ausprobieren was funktioniert. Du musst nicht umbedingt per Delphi un Shellexecute rumprobieren ... zum Testen reicht auch Start -> Ausführen. Wenn du es da zum Laufen gebracht hast geht es auch per Delphi.

turboPASCAL 15. Jun 2005 16:53

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
   ShellExecute(hInstance, 'open', 'cmd.exe',
     '/c ping "www.delphipraxis.net && '+
     'ping www.ottifant.de"', nil, SW_SHOW); // SW_SHOW, SW_HIDE oder SW_MINIMIZE
end;
Windowshilfe
Zitat:

cmd.exe /c Zeichenfolge - Führt den durch Zeichenfolge angegebenen Befehl aus und wird dann beendet.

Sie können in Zeichenfolge mehrere Befehle angeben. Dazu ist es aber erforderlich, dass Sie Zeichenfolge in Anführungszeichen setzen und die Befehle durch das Befehlstrennzeichen && trennen (Beispiel: "Befehl&&Befehl&&Befehl").

SlowDown 16. Jun 2005 07:15

Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
 
Das Problem ist, ich brauch das nicht für die cmd.exe, sondern für die wmic.exe...da scheint bei mir zumindest && nicht zu funtionieren, /c schon gar nicht...
Delphi-Quellcode:
begin
 ShellExecute(
  hInstance, 'open', 'wmic.exe',
  '/output:C:\Loggin\prozesse.htm process get /format:htable &&'+
  '/output:C:\Loggin\dienste.htm service get /format:htable',
  nil,SW_Hide );
end;
so wird nur der erste Befehl ausgeführt, /c hab ich weggelassen, geht hier scheinbar net...
wer weiss rat??

Im Endeffekt geht es darum, das ich mich in der Freizeit noch um ein paar Rechner kümmern muss, den leuten allerdings JEDESMAL zu erklären, was den die eingabeaufforderung ist, etc, ist mir inzwischen zu doof, soviel zeit und lust hab ich leider nicht, also dachte ich, machst ein mini programm, wo dann alles was ich wissen will, in einen ordner speichert, wmic.exe ist dafür super geeignet..
Also geht es bei mir in erster linie darum, nur die wmic.exe anzusprechen, verschiedene Informationen abzuarbeiten und fertig, wenn ich aber nicht direkt die wmic.exe ansprechen kann, (also für mehrere befehle) wäre es dann ne idee, der cmd.exe das rüber zuschicken, das die das an wmic weitergibt ?? das müsste ja gehen oder ???


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Seite 1 von 2  1 2      

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