Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

Variable falls gesetz ausgeben





Frage

Hallo, ich möchte wenn die Variable var1 einen Wert hatt, dass sie ausgegeben wird.. if not %var1%'==' echo %var1% so in der art, doch leider funktioniert das nicht! Weiß jemand Rat??

Antwort 1 von anonym

Zur Ergänzung:

Es kommt folgende Fehlermeldung

"'=='" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Antwort 2 von nochanymer

wie wärs mit "SET" °;-)


Antwort 3 von anonym

Wie SET ??


Antwort 4 von nochanymer

Mit SET werden alle gesetzten Variablen ausgegeben.


Antwort 5 von anonym

Mit SET werden die Variabelen doch gesetzt?!?!?

Falls ich falsch liegen, kanst mir vieleicht mal ein Beispiel geben wie das dann aussehen müsste??

Antwort 6 von nochanymer

SET ohne Parameter listet die gesetzen Variablen auf.


Antwort 7 von anonym

auch wenn ich

if not %var1%'==' set %var1%

mache, kommt der fehler: "'=='" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Antwort 8 von Massaraksch

Der Befehl funktioniert bei mir (habe grade WinNT zu laufen) ohne Probleme.

Welches BS nutzt du? Echtes altes DOS oder irgendein Win?

Könnte sein, es liegt an den Hochkommata. Nimm mal was anderes...

@nochanymer
> "SET ohne Parameter listet die gesetzen Variablen auf."
Das ist wohl klar, aber wenn er das gewollt hätte, dann würde er wohl kaum den Umweg über 'ne if-Abfrage gehen.

Massaraksch

Antwort 9 von nochanymer

AuWeiha...
Was genau willst Du denn machen ??


Antwort 10 von anonym

also wenn ich das in ne extra datei schreib, dann geht mein code da oben auch, ich gleube das liegt daran was davor kommt...

hier mal mein Code

@echo off
echo @echo off >> ip.bat
echo if %%1'==' goto end >> ip.bat
echo set /a s=%%s%%+1 >> ip.bat
echo set a%%s%%=%%1 >> ip.bat
echo :end >> ip.bat
ipconfig/all | findstr "IP-Ad" >> ip.txt
set s=0
for /f "tokens=14*" %%i in (ip.txt) do call ip %%i%%j
echo Deine IP Adressen sind:
echo.
if %a1%'==' echo %a1%
if %a2%'==' echo %a2%
if %a3%'==' echo %a3%
if %a4%'==' echo %a4%
if %a5%'==' echo %a5%
if %a6%'==' echo %a6%
if %a7%'==' echo %a7%
if %a8%'==' echo %a8%
if %a9%'==' echo %a9%
if %a10%'==' echo %a10%
del ip.bat
del ip.txt
pause


schlagt mich nicht wenn mein code scheise ist :D

Antwort 11 von nochanymer

C:\>testd
Befehl oder Dateiname nicht gefunden.
Syntaxfehler
Deine IP Adressen sind:

ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
ECHO ist ausgeschaltet (OFF)
Weiter mit beliebiger Taste . . .


Antwort 12 von anonym

ohne die if abfragen


@echo off
echo @echo off >> ip.bat
echo if %%1'==' goto end >> ip.bat
echo set /a s=%%s%%+1 >> ip.bat
echo set a%%s%%=%%1 >> ip.bat
echo :end >> ip.bat
ipconfig/all | findstr "IP-Ad" >> ip.txt
set s=0
for /f "tokens=14*" %%i in (ip.txt) do call ip %%i%%j
echo Deine IP Adressen sind:
echo.
echo %a1%
echo %a2%
echo %a3%
echo %a4%
echo %a5%
echo %a6%
echo %a7%
echo %a8%
echo %a9%
echo %a10%
del ip.bat
del ip.txt
pause



geht der code bei mir, allerdings zeigt er da wo keine IP's definiert sind "ECHO ist ausgeschaltet (OFF)" an!
Um das zu vermeiden will ich ja die if abfragen reinmachen, funzt aber nicht!


Antwort 13 von anonym

Hatt sich erledigt!

Trozdem Danke!

Antwort 14 von manei

Hallo,

teste mal folgendes:

@echo off
echo @echo off >> ip1.bat
echo if %%1'==' goto end >> ip1.bat
echo echo %%1>>ip2.txt >> ip1.bat
echo :end >> ip1.bat
ipconfig/all | findstr "IP-Ad" >> ip1.txt
for /f "tokens=14*" %%i in (ip1.txt) do call ip1 %%i%%j
echo.
echo Deine IP Adressen sind:
echo.
type ip2.txt
pause
del ip?.???>nul
cls


Warum diese Ausführung if %a1%'==' echo %a1%
bei Dir nicht läuft ist klar, Du mußt ja scheiben if not %a1%'==', aber das Ganze über eine Textdatei zu verarbeiten und auszugeben ist sowie so einfacher.

MfG maneich




Antwort 15 von anonym

also das mit dem "not" war ein schreibfehler von mir...

ich habs jetzt so hinbekommen

if not '=='%a1% echo %a1%

und es klappt wunderbar

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: