batch anfänger
moin
ich habe folgenden batchcode.
echo off
cls
:marke1
REM Schreibe Text 5 Mal
for /L %%N IN (1, 1, 5) DO echo Nummer %N
ping /a 127.0.0.1 -n 1
color a4
ping /a 127.0.0.1 -n 1
color 24
ping /a 127.0.0.1 -n 1
color 4f
ping /a 127.0.0.1 -n 1
color d9
if N==5 goto :marke2
goto marke1
:marke2
echo manoman
PAUSE
Nun, irgendwie geht es nicht.
zum einen wird das N nich geändert
zum zweiten ist der pausenbefehl mist.
ich habe folgenden batchcode.
echo off
cls
:marke1
REM Schreibe Text 5 Mal
for /L %%N IN (1, 1, 5) DO echo Nummer %N
ping /a 127.0.0.1 -n 1
color a4
ping /a 127.0.0.1 -n 1
color 24
ping /a 127.0.0.1 -n 1
color 4f
ping /a 127.0.0.1 -n 1
color d9
if N==5 goto :marke2
goto marke1
:marke2
echo manoman
PAUSE
Nun, irgendwie geht es nicht.
zum einen wird das N nich geändert
zum zweiten ist der pausenbefehl mist.
Work in progress
|
|
HTML |
1 |
<a href="Page">www.lainix.de</a> |
Hallo,
leider hab ich mit Batchprogrammierung nicht viel am Hut - aber das hilft schon weiter:
http://de.wikibooks.org/wiki/Batch-Progr…:_Batch-Befehle
So mal schauen was das Script macht ...
hier bildschirm löschen, und ne Sprungmarke setzen
wenn du vorm 2ten N ein weiteres % zuschreibst hast du ne FOR-Schleife die (Nummer 1, Nummer 2 ... Nummer 5) ausgibt
naja, hier jeweils 4mal Localhost anpingen
und die Console in Augenkrebsfördernde Farben schmücken
merkwürdige Syntax, da fehlen die %, und ich weis nicht ob die Variable ausserhalb der FOR-Schleife verfügbar ist
auf jeden Fall springt er hier IMMER wieder zu Marke1 -> Endlosschleife
der Code wird NIE ausgeführt.
Bleiben die Fragen, was willst du mit dem Script mal anstellen? und Warum ist der Befehl Pause mist?
Gruß
Ego
leider hab ich mit Batchprogrammierung nicht viel am Hut - aber das hilft schon weiter:
http://de.wikibooks.org/wiki/Batch-Progr…:_Batch-Befehle
So mal schauen was das Script macht ...
|
|
Quellcode |
1 2 3 |
echo off cls :marke1 |
|
|
Quellcode |
1 |
for /L %%N IN (1, 1, 5) DO echo Nummer %N |
|
|
Quellcode |
1 2 3 4 5 6 7 8 |
ping /a 127.0.0.1 -n 1 color a4 ping /a 127.0.0.1 -n 1 color 24 ping /a 127.0.0.1 -n 1 color 4f ping /a 127.0.0.1 -n 1 color d9 |
und die Console in Augenkrebsfördernde Farben schmücken
|
|
Quellcode |
1 2 3 |
if N==5 goto :marke2 goto marke1 :marke2 |
auf jeden Fall springt er hier IMMER wieder zu Marke1 -> Endlosschleife
|
|
Quellcode |
1 2 3 |
echo manoman PAUSE |
Bleiben die Fragen, was willst du mit dem Script mal anstellen? und Warum ist der Befehl Pause mist?
Gruß
Ego
Hallo, erstma danke für die ausführliche Kommunikation.
Der Befehl Pause stört mich, weil er bei mir nicht ausugeführt wird.
Dieser Fehler kann allerdings am Laptop liegen, ich sitz an einem
sehr abgespeckten Windows XP mit 433Mhz und ich kenne die
Version des System nicht. Wenn seit Windows aber ein allgemeiner
Standart gilt und es keine /Unterschiede gibt, dann weiss ich nicht
woran es liegt. Ich habe auch schon Pause>0 versucht.
Der Befehl Pause stört mich, weil er bei mir nicht ausugeführt wird.
Dieser Fehler kann allerdings am Laptop liegen, ich sitz an einem
sehr abgespeckten Windows XP mit 433Mhz und ich kenne die
Version des System nicht. Wenn seit Windows aber ein allgemeiner
Standart gilt und es keine /Unterschiede gibt, dann weiss ich nicht
woran es liegt. Ich habe auch schon Pause>0 versucht.
Work in progress
|
|
HTML |
1 |
<a href="Page">www.lainix.de</a> |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Lainix« (24. September 2010, 20:30)
okki
unregistriert
es gab auch irgendwie mal nen befehl um tasteneingaben zu erfassen. leider sind meine batch anfänge etwas lange her :-) aber im internet fand ich den befehl "SET /P...". vielleicht funktioniert der ja bei deiner XP version, evt. kannst du mit
den "pause" befehl nachahmen...
grüße okki
|
|
Quellcode |
1 |
set /p NUL |
grüße okki
Also erst mal solltest du auf den Hinweis eingehen das du eine Endlosschleife aufgebaut hast
da kommt Pause erst garnicht zum tragen 
alles nach goto Marke1 wird nicht mehr bearbeitet!
Ich würde den for befehl so abändern :
for %%i in (1 2 3 4 5 ) do net send %1 %2
Dann sollte dein Ping genau 5x ausgegeben werden!
Ich würde mich aber mit Batch nicht so abmühen sondern hier auf eine andere Windowssprache zurückgreifen
set wscr = createobject("wscript.shell")
ziel=inputbox("Bitte ZielHost eingeben")
inhalt=inputbox("Bitte Nachricht eingeben")
anzahl=inputbox("Wieviele Nachrichten versenden?[keine Angabe = permanent senden]")
if anzahl = "" then
do
wscr.run("net send " & ziel & " " & inhalt)
loop
else
for i = 1 to anzahl
wscr.run("net send " & ziel & " " & inhalt)
next
end if
Edit >Ach so habe die sprache vergessen die Sprache anzugeben = VB Script
OK keine Augenkrebsfarben aber ansonsten sollte das so Funktionieren wie du es oben haben möchtest!
da kommt Pause erst garnicht zum tragen 
alles nach goto Marke1 wird nicht mehr bearbeitet!
Ich würde den for befehl so abändern :
for %%i in (1 2 3 4 5 ) do net send %1 %2
Dann sollte dein Ping genau 5x ausgegeben werden!
Ich würde mich aber mit Batch nicht so abmühen sondern hier auf eine andere Windowssprache zurückgreifen
set wscr = createobject("wscript.shell")
ziel=inputbox("Bitte ZielHost eingeben")
inhalt=inputbox("Bitte Nachricht eingeben")
anzahl=inputbox("Wieviele Nachrichten versenden?[keine Angabe = permanent senden]")
if anzahl = "" then
do
wscr.run("net send " & ziel & " " & inhalt)
loop
else
for i = 1 to anzahl
wscr.run("net send " & ziel & " " & inhalt)
next
end if
Edit >Ach so habe die sprache vergessen die Sprache anzugeben = VB Script
OK keine Augenkrebsfarben aber ansonsten sollte das so Funktionieren wie du es oben haben möchtest!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jadefalke« (27. September 2010, 13:22)
Ähnliche Themen
-
Sonstige Programmiersprachen »-
Batch
(2. März 2010, 01:33)
-
Sonstige Programmiersprachen »-
batch: ie mit url starten
(16. April 2004, 08:56)
-
Sonstige Programmiersprachen »-
5 sekunden Pause in einer Batch einbauen?
(19. Februar 2004, 13:17)
-
Sonstige Programmiersprachen »-
Batch Dateien
(24. Dezember 2003, 11:12)


