![]() |
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:
wie man sieht will ich mehrere Befehle zum abarbeiten übergeben, habs aber nur so hinbekommen,
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; 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... |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Zitat:
|
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 ;-) |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Zitat:
mfg Christian |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Gegenfrage: Bin ich im Batch Forum oder im Delphi Forum?
|
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 |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Zitat:
Zitat:
Zitat:
mfg Christian |
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. |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Delphi-Quellcode:
Windowshilfe
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; Zitat:
|
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:
so wird nur der erste Befehl ausgeführt, /c hab ich weggelassen, geht hier scheinbar net...
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; 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 ??? |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Zitat:
gruessle |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Das "/c" so wie auch das "&&" sind spezielle Kommandos, die nur cmd.exe versteht.
Das sollte gehen:
Delphi-Quellcode:
begin
ShellExecute( hInstance, 'open', 'cmd.exe', '/c wmic.exe /output:C:\Loggin\prozesse.htm process get /format:htable &&'+ 'wmic.exe /output:C:\Loggin\dienste.htm service get /format:htable', nil,SW_Hide ); end; |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
|
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Hab ich mir doch gedacht das es so geht, du bist der Hammer, Danke... :hello:
|
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Zitat:
Code:
Da die einzelnen Befehle keinen gemeinsamen Kontext benutzen, könntest du tatsächlich diesen Stapel ausführen. Dafür ein Programm zu schreiben, ist unwirtschaftlich, es sei denn du willst weitere Funktionalität reinpacken. Wie der Aufruf von ShellExecute funktioniert, hast du ja schon mehrfach gesehen:
wmic process get /format:htable >process.html
wmic service get /format:htable >service.html
Delphi-Quellcode:
Grüße vom marabu
ShellExecute(
hInstance, 'open', 'cmd.exe', '/c "C:\Winnt\System32\Wbem\wmic.exe" process get /format:htable > C:\process.html', nil, SW_HIDE ); |
Re: Anfänger:Befehl z.b.an cmd.exe zusammenfassen und überge
Danke, interessant, nun, wie gesagt, ich hab mir gestern erst die Trial runtergeladen von Borland, hab mit programmieren nichts zu tun, kenn nur html, und hab somit natürlich schwierigkeiten, in den ersten 24 stunden hier durchzublicken ;-) Nun, es sollen Tatsächlich noch einige Funktionen hinzukommen,
Ich will aber meisstens auf die vorhandenen Boardmittel zurückgreifen. Ein Mini Admin Tool für den privaten Hausgebrauch sozusagen. Da ich einige Pcs von meinen Kumpels pflegen muss, es aber am Telefon doch immer schwierig ist, einem bekennenden Dau zu erklären, geh mal dahin, mach mal cmd auf, schreib das da rein, welche ip hast du, wie alt sind deine Treiber, (Original Antwort nach 2 Minuten Stille : Wo treiben sich Treiber den für gewöhnlich so rum auf so nem PC ? ;-) ) habe ich mich entschlossen, die ganzen Funktionen wo ich öfters brauch unter ne Delphi Hülle zu stecken, wo er dann nur noch 2 3 mal klicken muss, und dann ist alles gut ;-) Schont meine Telefonkosten und meine Nerven. Wenn mir jemand noch sagen kann, nach was ich im Forum den so suchen muss, wenn ich zum Beispiel ein edit Feld haben möchte, ( scheint mir das geeignetste zu sein so als delphi dau)wo jemand den prozessnamen nur reinzuschreiben braucht (bösespyware.exe) und dann den namen per öhem String ????????? zu windoof taskkill befördert ?? wäre ich der glücklichste Mensch der Welt ... Ansonsten allen nen schönen Tag hier, echt erstaunlich wie schnell hier die Antworten kommen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 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