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.
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??
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.
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
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 ??
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
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 . . .
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!
@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!
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
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 habs jetzt so hinbekommen
if not '=='%a1% echo %a1%
und es klappt wunderbar

