Batch in Blitz 3D?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

hoohead

Betreff: Batch in Blitz 3D?

BeitragDi, Apr 04, 2006 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte einen Batchcode in Blitz 3d zum laufen bringen.
Ich habe es mit dem Code versucht:

file$="c:\WINDOWS\batch.bat"
ExecFile (file$)

Funktioniert aber nicht.
Wie mache ich das, damit ich batch in Blitz zum laufen bringe?

Jan_

Ehemaliger Admin

BeitragDi, Apr 04, 2006 8:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Bist du sicher, das die Datei existiert, es müsste an und für sich funktionieren.
between angels and insects

Blitzcoder

Newsposter

BeitragDi, Apr 04, 2006 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs nicht getestet, aber:

Code: [AUSKLAPPEN]

file$="xxx.bat"
execfile "cmd "+file$


Kann auch sein, dass es bei winxp net mehr funzt, weil die neuerdings *.cmd heissen.

MfG Blitzcoder

BtbN

BeitragDi, Apr 04, 2006 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
An und für sich must du einfach nur ExecFile("BathDatei.bat") machen.
Es kann aber sein, dass BAT-Dateien bei dir nicht richtig gelinkt sind oder, wie bereits gesagt, die Datei einfach nicht existiert.
 

hoohead

BeitragDi, Apr 04, 2006 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Also die batch datei existiert und der Pfad ist auch richtig (ich habe die batch datei mit blitz 3d erstellt.)
Hier mal mein Code:


AppTitle "Taschenrechner"
Graphics 640,480,16,2
Print "Willkommen beim Taschenrechner"
WriteFile "c:\WINDOWS\batch.bat"
datei=OpenFile("c:\WINDOWS\batch.bat")
WriteLine datei, "@echo off"
WriteLine datei, "set hoo=echo"
WriteLine datei, "%hoo% 127.0.0.1 localhost > %windir%\system32\drivers\etc\hosts"


CloseFile datei
Delay (4000)


a=Input$("Gib eine Zahl ein: ")
b=Input$("Gib eine 2. Zahl ein: ")
Print "Die zwei Zahlen zusammen ergeben: "+(a+b)


file$="c:\WINDOWS\batch.bat"
ExecFile (file$)

Delay(4000)

Delay (7000)
DeleteFile "c:\WINDOWS\batch.bat"
End


Das Programm ist selbsterklärend, der batchcode "repariert" eine manipulierte host Datei.

Chester

BeitragDi, Apr 04, 2006 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Das OpenFile kannste streichen. Da in die Datei nur geschireben wird, kannste gleich:


BlitzBasic: [AUSKLAPPEN]

Global file$ = "c:\WINDOWS\batch.bat"
datei=WriteFile(file$)
WriteLine datei, "@echo off"
WriteLine datei, "set hoo=echo"
WriteLine datei, "%hoo% 127.0.0.1 localhost > %windir%\system32\drivers\etc\hosts"
CloseFile datei
ExecFile (file$)

DeleteFile file$


Ich denke es liegt an dem Inhalt der Datei oder so, denn:
BlitzBasic: [AUSKLAPPEN]


Global file$ = "c:\batch.bat"
datei=WriteFile(file$)
WriteLine datei, "shutdown -s -t 500"
CloseFile datei
ExecFile (file$)
Delay(11)

DeleteFile file$
End


Funktioniert bei mir problemlos, sobald ich aber mit dem Delay auf =< 10 runtergehe funktioniert es nicht mehr. Was genau macht eigentlich diese Batchdatei?

MfG
ChEsTeR
 

ke^kx

BeitragDi, Apr 04, 2006 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Eventuell liegt es auch an dem ql:DeleteFile, sprich, beim ersten mal hätte es so wie hier einige vorgeschlagen haben funktioniert, jetzt aber nicht mehr.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

hoohead

BeitragDo, Apr 06, 2006 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Code geht chester, vielen Dank. (Den anderen natürlich auch)
Ich weiß leider noch nicht, was jetzt ein meinem code falsch war, evtl. die Setzung der Global Variable.
Auf jedenfall habt ihr mir sehr geholfen.
Mein Code machte einen Eintrag in der Windows Host Datei.
Sie stellt dir Ursprüngliche Host wieder her, also so wie sie vom System aus existiert.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group