AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi CMD.exe mehrere Befehle in eine Console?
Thema durchsuchen
Ansicht
Themen-Optionen

CMD.exe mehrere Befehle in eine Console?

Ein Thema von Master_BB · begonnen am 6. Mär 2005 · letzter Beitrag vom 16. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 11:22
Hya,
wie stelle ich es an das ich an ein CMD fenster mehrere Befehle übergeben kann nacheinander?
sprich wie diese befehlsabfolge
netsh
interface ip set file c:\blabla.txt
interface ip show config
interface ip set file close

diese müßten sukzessiv in die CMD rein. mit shellexecute öffnert er logischer weise aber immer
ein neues CMD fenster wodurch das loggn mit der datei nicht geht.

Greetz
Master_BB
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 11:26
So:
Code:
cmd.exe /c echo Hallo, seien sie froh, dass Sie das hier sehen, && echo denn dieser Befehl haette auch ihre Festplatte formatieren koennen ... && pause>nul && echo ... aber keine Angst, der kommt gleich ... && echo. && pause
gibt aus:
Code:
Hallo, seien sie froh, dass Sie das hier sehen,
denn dieser Befehl haette auch ihre Festplatte formatieren koennen ...
... aber keine Angst, der kommt gleich ...

Drücken Sie eine beliebige Taste . . .
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#3

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 11:27
Du kannst wie gewohnt mit ShellExecute usw. arbeiten, wenn du vor dem ersten Befehl
AllocConsole; und nach dem letzten Befehl
FreeConsole; in den Quelltext einfügst.
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#4

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 13:49
hm thx scp das hilft mir auf alle fälle schon mal weiter
ABER
es klappt noch nicht ganz.
ich muss befehle in die cmd senden
mit shell execute rufe ich ja immer sozusagen nur ein programm auf und übermittle parameter und aus ist.
ich muss aber im programm bleiben und nach dem ersten noch mehr befehle aufrufen.
in der cmd sähen die befehle von oben so aus
c:\
eingabe netsh
netsh\
eingabe interface ip set file ..
netsh\interface\ip\
eingabe blalbsdfsd

so um das hinzubekommen muss ich also bei der offenen console befehle übergeben.
gibts da was?

Greetz
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#5

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 22:00
Wenn du auf die einzelnen Befehle warten willst, kannst du MSDN-Library durchsuchenCreateProcess in Verbindung mit MSDN-Library durchsuchenWaitForSingleObject verwenden.
netsh-Befehle kannst du über eine Skriptdatei übergeben.
Code:
netsh exec <Skriptdatei>
PS: Im übrigen sollte man besser auf Befehle der Windows API zurückgreifen, anstatt das über ein Konsolen-Programm zu erledigen. Statt "cd" kannst du z.B. SetCurrentDirectory() verwenden.
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 22:33
@scp: Mir ist keine Methode bekannt wie man per Win-API die IP-Settings ändern kann (ok, das das muss nichts heisen, aber wenn man hier sucht landet man auch wieder bei netsh) Im übrigen finde ich das auch gar nicht so schlecht, vor allem weil es ein sehr mächtiges tool ist.

@Master_BB: du könntest das problem auch umgehen, indem du den netsh-Befehl in eine Zeile packst, z.B:
Code:
netsh interface ip show config >"C:\myfile.txt"
wobei ich allerdings den dump-Befehl vorziehen würde:
Code:
netsh interface ip dump >"C:\myfile.txt"
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Benutzerbild von retnyg
retnyg

Registriert seit: 11. Feb 2005
193 Beiträge
 
#7

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 6. Mär 2005, 22:56
oder einfach eine batch-datei erstellen und dann rennen lassen....
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#8

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 7. Mär 2005, 07:10
vielen DANK für eure ideen.
ich werd mal probieren was am besten klappt.
batch datei kam mir auch schon in den sinn aber ich wollt
erstmal kukn obs auch so geht.
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 7. Mär 2005, 18:11
Warum geht eigendlich meine Lösung mit den && nicht ???
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#10

Re: CMD.exe mehrere Befehle in eine Console?

  Alt 7. Mär 2005, 20:24
weil netsh irgendwie seinen eigenen Kontext (oder wie auch immer man das nennen soll) aufruft, probiers einfach mal aus.
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 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