![]() |
CMD.exe mehrere Befehle in eine Console?
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 |
Re: CMD.exe mehrere Befehle in eine Console?
So:
Code:
gibt aus:
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
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 . . . |
Re: CMD.exe mehrere Befehle in eine Console?
Du kannst wie gewohnt mit ShellExecute usw. arbeiten, wenn du vor dem ersten Befehl
Delphi-Quellcode:
und nach dem letzten Befehl
AllocConsole;
Delphi-Quellcode:
in den Quelltext einfügst.
FreeConsole;
|
Re: CMD.exe mehrere Befehle in eine Console?
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 |
Re: CMD.exe mehrere Befehle in eine Console?
Wenn du auf die einzelnen Befehle warten willst, kannst du
![]() ![]() netsh-Befehle kannst du über eine Skriptdatei übergeben.
Code:
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.
netsh exec <Skriptdatei>
|
Re: CMD.exe mehrere Befehle in eine Console?
@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:
wobei ich allerdings den dump-Befehl vorziehen würde:
netsh interface ip show config >"C:\myfile.txt"
Code:
netsh interface ip dump >"C:\myfile.txt"
|
Re: CMD.exe mehrere Befehle in eine Console?
oder einfach eine batch-datei erstellen und dann rennen lassen....
|
Re: CMD.exe mehrere Befehle in eine Console?
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. |
Re: CMD.exe mehrere Befehle in eine Console?
Warum geht eigendlich meine Lösung mit den && nicht ??? :gruebel:
|
Re: CMD.exe mehrere Befehle in eine Console?
weil netsh irgendwie seinen eigenen Kontext (oder wie auch immer man das nennen soll) aufruft, probiers einfach mal aus.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 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