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

Printed on: April 26, 2024 at 14:04 o'clock

Member: rubberman
Solution rubberman Dec 21, 2015 updated at 18:28:48 (UTC)
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
Member: Marlon1
Marlon1 Dec 21, 2015 at 18:28:42 (UTC)
Goto Top
Danke, ich glaube das wars erstmal mit Fragen ;)