ich brauche hilfe kombination "if" und "set" weil ich mir ein register in der schule mache, weil ich gelangweiltWie kombiniere ich und setze? in .bat
das problem ich brauche hilfe mit ist am ende der seite.
hier ist mein Code:
:start
@echo off
color b5
title Register
echo welcome! :)
pause
goto :icn
:icn
cls
echo Is Callum Shevlin in?
echo.
echo 1) in
echo 2) out
set /p icnn=
if %icnn%==1 set /a %icnnn%== "in"
if %icnn%==2 set /a %icnnn%== "out"
goto :ici
:ici
cls
echo Is Charlie Davies in?
echo.
echo 1) in
echo 2) out
set /p icnn2=
if %icnn2%==1 set /a %icnn22%== "in"
if %icnn2%==2 set /a %icnn22%== "out"
goto :icin
:icin
cls
echo Is Joshua Glover in?
echo.
echo 1) in
echo 2) out
set /p icnnii=
if %icnnii%==1 set /a %icnniii%== "in"
if %icnnii%==2 set /a %icnniii%== "out"
goto :icint
:icint
cls
echo Is Blake Harrison-Akers in?
echo.
echo 1) in
echo 2) out
set /p icnnttii=
if %icnnttii%==1 set /a %icnntttii%== "in"
if %icnnttii%==2 set /a %icnntttii%== "out"
goto :icie
:icie
cls
echo Is Reece Radford in?
echo.
echo 1) in
echo 2) out
set /p ikki=
if %ikki%==1 set /a %ikkii%== "in"
if %ikki%==2 set /a %ikkii%== "out"
goto :icikkkik
:icikkkik
cls
echo Is Chris Martin in?
echo.
echo 1) in
echo 2) out
set /p kollo=
if %kollo%==1 set /a %kolloo%== "in"
if %kollo%==2 set /a %kolloo%== "out"
goto :results
:results
cls
echo --------------------
echo Callum Shevlin = %icnnn%
echo -----------------------
echo Charlie Davies = %icnn22%
echo ----------------------
echo Joshua Glover = %icnniii%
echo ------------------------------
echo Blake Harrison-Akers = %icnnttt%
echo ---------------------
echo Recce Radford = %ikkii%
echo --------------------
echo Chris Martin = %kolloo%
echo ---------------------
pause
goto :start
aber das Problem ist, nachdem Sie auf der Ergebnisseite bekommen haben es zeigt keinen Text nach dem „=“ Zeichen
ich will, was falsch wissen.
Sie verwenden den 'set' Befehl nicht korrekt ... Sie möchten 'icnnn = in" 'setzen, mit nur einem Gleichheitszeichen, zum Beispiel nicht' set% icnnn% == "in" ' . Vermeiden Sie Leerzeichen vor und nach dem Gleichheitszeichen. Setzen Sie stattdessen doppelte Anführungszeichen um den vollständigen Befehl, wie "set" myVar = myValue "' ('set" icnn = in "'), so dass Sie unerwünschte Leerzeichen sehen können. Mehr zu 'set/?.' –
Bitte lesen [Warum wird keine Zeichenkette mit 'echo% var%' ausgegeben, nachdem 'set var = text' in der Kommandozeile benutzt wurde?] (Http://stackoverflow.com/a/26388460/ 3074564) für eine detaillierte Erklärung der vorgenommenen Fehler beim Zuordnen einer Zeichenkette zu einer Variablen. Und lesen Sie auch die Antwort auf [Batch in Batch aufrufen?] (Http://stackoverflow.com/a/37226895/3074564), um die Fehlerüberprüfung auf ungültige Eingaben zu demonstrieren, da 'set/P' verwendet wird, um dem Batch-Benutzer die Eingabe einer Nummer zu ermöglichen vordefinierte Optionen Und alles nach 'set/A' wird als arithmetischer Ausdruck interpretiert. Verwenden Sie daher 'set/a' nur für arithmetische Ausdrücke. – Mofi
Thx,: D. es hat wirklich geholfen! –