tim1986
Goto Top

DMX Dip rechner

Moin,
ich weiß leider ned wo der Fehler is...
Ich hoffe ihr könnt mir Helfen,
die Batch bricht einfach ab...

@echo off
set /p adr=adresse:
if  %adr% >= 16 (
set 5=1
set adr=%adr%-16
) else ( 
set 5=0
)
echo %5%
pause

Content-ID: 113158

Url: https://administrator.de/forum/dmx-dip-rechner-113158.html

Ausgedruckt am: 27.12.2024 um 19:12 Uhr

pxxsxx
pxxsxx 03.04.2009 um 12:09:31 Uhr
Goto Top
Hallo, ich glaub, dass geht so nicht.
Beim ausführen in einem CMD-Fenster mit auskommentiertem @echo off bleibt das Script mit folgender Meldung stehen:

">" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Das ist die Beschreibung des If- Befehls der CMD:

C:\>if /?
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

IF [NOT] ERRORLEVEL Nummer Befehl
IF [NOT] Zeichenfolge1==Zeichenfolge2 Befehl
IF [NOT] EXIST Dateiname Befehl

NOT Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
erfüllt ist.

ERRORLEVEL Nummer Bedingung ist erfüllt, wenn das zuletzt ausgeführte
Programm einen Code größer oder gleich der Nummer
zurückgibt.

Zeichenfolge1==Zeichenfolge2
Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.

EXIST Dateiname Bedingung ist erfüllt, wenn die angegebene Datei existiert.

Befehl Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
werden soll. Diesem Befehl kann das Schlüsselwort ELSE
folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
die angegebene Bedingung nicht erfüllt ist (FALSE).

Gruß
Peter
tim1986
tim1986 03.04.2009 um 14:26:02 Uhr
Goto Top
Hallo Peter,
du hast mir den schubs in die rihitge richtung gegeben... Hier das fertige script um DMX adressen auf Dipschalter umzusetzen

@echo off
set /p adr=Adresse:
if  %adr% GEQ 256 (
set neun=1
) else ( 
set neun=0)
if %adr% GEQ 256 set /A adr=(%adr%-256)


if  %adr% GEQ 128 (
set acht=1
) else ( 
set acht=0)
if %adr% GEQ 128 set /A adr=(%adr%-128)


if  %adr% GEQ 64 (
set sieben=1
) else ( 
set sieben=0)
if %adr% GEQ 64 set /A adr=(%adr%-64)


if  %adr% GEQ 32 (
set sechs=1
) else ( 
set sechs=0)
if %adr% GEQ 32 set /A adr=(%adr%-32)


if  %adr% GEQ 16 (
set fuenf=1
) else ( 
set fuenf=0)
if %adr% GEQ 16 set /A adr=(%adr%-16)


if  %adr% GEQ 8 (
set vier=1
) else ( 
set vier=0)
if %adr% GEQ 8 set /A adr=(%adr%-8)


if  %adr% GEQ 4 (
set drei=1
) else ( 
set drei=0)
if %adr% GEQ 4 set /A adr=(%adr%-4)

if  %adr% GEQ 2 (
set zwei=1
) else ( 
set zwei=0)
if %adr% GEQ 2 set /A adr=(%adr%-2)

if  %adr% GEQ 1 (
set eins=1
) else ( 
set eins=0)
if %adr% GEQ 1 set /A adr=(%adr%-1)

echo 1^| 2^| 3^| 4^| 5^| 6^| 7^| 8^| 9
echo ------------------------------
echo %eins%^| %zwei%^| %drei%^| %vier%^| %fuenf%^| %sechs%^| %sieben%^| %acht%^| %neun%
pause
pxxsxx
pxxsxx 03.04.2009 um 15:02:36 Uhr
Goto Top
Gern geschehen

Gruß
Peter