marlon1
Goto Top

Batch - Variablen

Hallo,
Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl schaut ob eine Variable ein Wort oder Zahl ist?
(Danke an: rubberman und Jodle oder so. Dafür das ihr mir letztes mal geholfen habt)
Mit freundlichen Grüßen Marlon face-smile

Ach ja,
Ich habe noch eine Frage :D :
Geht es das ein Batch Programm schaut ob in einer .txt ein Bestimmtes Wort ist und wenn ja ein Befehl ausführt?
Mit freundlichen Grüßen Marlon face-smile

Content-Key: 291486

Url: https://administrator.de/contentid/291486

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: rubberman
Lösung rubberman 21.12.2015 aktualisiert um 19:28:48 Uhr
Goto Top
Hallo Marlon1.

ein Wort oder Zahl
Definiere "Wort" face-wink
Du kannst bspw. prüfen, ob eine Variable eine ganze Zahl von -1 bis 5 ist:
@echo off &setlocal

set "inp="  
set /p "inp=> "  

call :check inp -1 5
if errorlevel 1 (echo Fehler!) else echo %inp% ist gueltig.

pause
exit /b


:check VarName Min Max
setlocal EnableDelayedExpansion
:: Test auf Ziffern und - (keine anderen Zeichen erlaubt).
for /f "delims=-1234567890 eol=" %%i in ("!%~1!") do (endlocal &exit /b 1)  
:: Test auf gültige Zahl (alles was SET /A fehlerfrei verarbeiten kann).
2>nul set /a "dummy=!%~1!" || (endlocal &exit /b 1)  
:: Test auf Dezimalzahl (keine Oktalzahl durch vorangestellte 0).
if "!%~1!" neq "%dummy%" (endlocal &exit /b 1)  
:: Test auf Minimum
if %dummy% lss %~2 (endlocal &exit /b 1)
:: Test auf Maximum
if %dummy% gtr %~3 (endlocal &exit /b 1)

endlocal &exit /b 0

ob in einer .txt ein Bestimmtes Wort ist und wenn ja ein Befehl ausführt?
findstr "Wort" "test.txt" >nul && echo vorhanden


Grüße
rubberman
Mitglied: Marlon1
Marlon1 21.12.2015 um 19:28:42 Uhr
Goto Top
Danke, ich glaube das wars erstmal mit Fragen ;)