Seite 3 von 4
Verfasst: 20.08.2009 14:14
von KatSeiko
Mal so als Idee... Funktioniert das nicht mit RunProgram() und jeder Zeile, die sonst in der Batch-Datei landen würde? Am Anfang OpenConsole() davor, am Ende Input() und danach CloseConsole(). Oder öffnet das bei jedem Programmaufruf ein eigenes Command-Fenster?
Verfasst: 20.08.2009 14:30
von TomS

Dann kann er ja gleich alles in PB machen.
http://www.purebasic.fr/german/viewtopi ... highlight=
Also ne ein Programm zu schreiben, dass eine Batch-Datei ausführt, halte ich für dämlich. Nur weil er es nicht gebacken bekommt, den Pause-Befehl zu benutzen...
@Raphi: Poste mal den Inhalt deiner Batch-Datei. Vielleicht is da wo anders Quark drin.
Verfasst: 20.08.2009 17:00
von Raphi
Jo hier isser
Code: Alles auswählen
if SetIpConfig('196.11.175.221') = 0 then … // Set STATIC IP
if SetIpConfig('') = 0 then .. // Set to DHCP
if SetupConfig('dhcp') = 0 then … // Same as above
if SetIpConfig('196.11.175.221','196.11.175.1') = 0 then .. // STATIC + GATEWAY
pause
Verfasst: 21.08.2009 15:32
von TomS
Entweder Batch-hat sich in Windows Vista weiter entwickelt, oder
das ist
kein gültiger Batch-Code...
Seit wann gibt's denn Funktionen in Batch (also mit Klammern und so)? Und sein wann werden Kommentare mit // eingeleitet und nicht mit
rem?
Und was soll dieses komische Zeichen in Zeile 1 und 3?
Code: Alles auswählen
C:\>raphi.bat
"=" ist syntaktisch an dieser Stelle nicht verarbeitbar.
C:\>if SetIpConfig('196.11.175.221') = 0 then à // Set STATIC IP
C:\>
Wenn ich nen Haufen Schrott in die erste Zeile schreibe, interessiert das
pause am Ende natürlich niemanden mehr.

Verfasst: 21.08.2009 15:39
von Kaeru Gaman
TomS hat geschrieben:Wenn ich nen Haufen Schrott in die erste Zeile schreibe, interessiert das
pause am Ende natürlich niemanden mehr.


made my day!
Verfasst: 21.08.2009 16:13
von TomS
Ja. Also bitte.
Code: Alles auswählen
If 23x = ReplaceString(Val("56"),"5","1")
Then echo "hallo welt" //kurzes Statement
MessageRequester("OK","Hat geklappt")
Warum zeigt er den MessageRequester nicht an
Seine "Batchdatei" wird sogar korrekt debuggt. Er hat da also den gleichen Luxus, wie mit dem PB-Code da oben.
Verfasst: 21.08.2009 17:49
von Little John
TomS hat geschrieben:Entweder Batch-hat sich in Windows Vista weiter entwickelt, oder das ist kein gültiger Batch-Code...
Exakt das habe ich auch gedacht -- und zwar
mindestens ziemlich weit weiterentwickelt ...
Gruß, Little John
Verfasst: 21.08.2009 17:55
von Vera
Hi Raphi,
nachdem ich dann lange genug über
"Patchwork don't make Batchwork!" lachen konnte,
hab' ich Dir eine
BatchCreator.bat für die kleine Pause zwischendurch gehext:
Code: Alles auswählen
@ echo off
echo Title PatchBatch > PatchBatch.bat
echo cls >> PatchBatch.bat
echo @ echo off >> PatchBatch.bat
echo pause >> PatchBatch.bat
echo color 4E >> PatchBatch.bat
echo echo + >> PatchBatch.bat
echo echo +++++++++++++ you hit it +++++++++ >> PatchBatch.bat
echo echo + >> PatchBatch.bat
echo pause >> PatchBatch.bat
echo %%systemroot%%\notepad.exe PatchBatch.bat >> PatchBatch.bat
PatchBatch.bat
pause

~ Vera
Verfasst: 21.08.2009 18:30
von Raphi
Tja den code hab ich einfach aus dem internet übernommen.
Konnte ja nicht wissen das er so einfach nicht stimmt!
Verfasst: 21.08.2009 18:47
von Falko
Naja, da hättest du dich besser mit Delphi auseinander setzen können.
http://lummie.co.uk/how-to-change-ip-ad ... api-class/
Entweder wurde eine DOS-Funktion compiliert die dann in Batches angewendet werden kann, oder es war schlicht aus einem Delphi-Source
entnommen.
Die Teile die du hier als Batch vorgeführt hast, sind auch in diesem Source vorhanden.
Achja, die Funktion von der du sprachst ist diese Delphi-Funktion:
Code: Alles auswählen
function SetIpConfig(const AIpAddress : string;
const AGateWay : string = '';
const ASubnetMask : string = '') : integer;
...