Hallo Leutz,
ich steh mal wieder vor einem batch Problem, denn es gelingt mir nicht, die Eingabe eines Leerzeichen auszuwerten,
meint: dieser Versuch bricht einfach die Ausführung ab wenn "Leerzeichen+Enter" auf Eingabe folgt
SET /P Q bitte eine 1 für weiter, Eingabe =
if not defined Q goto :weiter2
if .%Q%. NEQ .1. goto :weiter2
rem bei 1 geht es hier weiter
echo 1 wurde eingegeben....
...
ein "beliebiges anders Zeichen+Enter" wie auch "1+Enter" oder auch "nichts+Enter" werden ausgewertet!
hat jemand eine Idee warum "Leerzeichen+Enter" zum Abbruch der batch führt?
Staubwolke
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Hall Leutz,
konnte mir die Frage selbst beantworten, das Problem war die fehlende Maskierung mit ""
um ein Leerzeichen " " erfassen zu können, mit folgender Testbatch habe ich das gewünschte erreicht
@echo off
echo a test of command set /P
echo.
set /P "myval=nu tu wat eintippen tun :) "
echo.
echo errorlevel %errorlevel%
if not defined myval echo 0 keine Variable ^%myval^% vorhanden
if defined myval echo 1 die Variable "myval"= "%myval%" ist vorhanden
if "%myval%" EQU "" echo 2 test der Variable "myval"= "%myval%" auf leer = wahr
if "%myval%" NEQ "" echo 3 test der Variable "myval"= "%myval%" auf nicht leer = wahr
if "%myval%" EQU " " echo 4 test der Variable "myval"= "%myval%" auf space = wahr
if "%myval%" NEQ " " echo 5 test der Variable "myval"= "%myval%" auf nicht space = wahr
if "%myval%" EQU "1" echo 6 test der Variable "myval"= "%myval%" auf 1 = wahr
if "%myval%" NEQ "1" echo 7 test der Variable "myval"= "%myval%" auf nicht 1 irgend etwas anderes = wahr
pause
falls es jemanden interessiert ;)
Staubwolke