我基本上知道怎么做。如果我运行像这样隔离的命令,它可以工作:
@echo off
color a
Title test
:page1
set /p V1=V1=
echo Var1=%V1% >var.txt
goto page2
:page2
set /p V2=V2=
echo Var2=%V2% >>var.txt
goto page3
:page3
set /p V3=V3=
echo Var3=%V3% >>var.txt
pause
如果我将相同的东西放入我的主.bat文件中,它只存储第一个变量。现在我不知道我使用的代码是不是很糟糕,或者我的代码中缺少某些内容。
这是我的主要代码,其中变量保存不起作用:
@echo off
echo Press a key when ready
echo.
set /p Name=">>>"
echo Name=%Name% >var.txt
goto page2
:page2
cls
echo %name% ~ %username% ~ %date% ~ %time%
echo.
echo First question
echo.
echo bla bla bla
echo.
echo 1) bbbbb
echo 2) aaaaa
echo 3) kkkkk
echo 4) ddddd
echo 5) eeeee
echo.
set /p R1=I choose:
echo.
if not defined R1 (
goto page2
)
if %R1%==1 goto stop
if %R1%==2 goto stop
if %R1%==3 goto page3
if %R1%==4 goto stop
if %R1%==5 goto stop
echo HIT A KEY AND TRY AGAIN!
pause >nul
echo Var%R1% >>var.txt
goto page2
:page3
cls
echo %name% ~ %username% ~ %date% ~ %time%
echo.
echo Question 2
echo.
echo bla bla bla
echo.
echo 1) fasfa
echo 2) asfa
echo 3) adasd
echo 4) Ix
echo 5) xx
echo.
set /p R2=I choose:
echo.
if not defined R2 (
goto page3
)
if %R2%==1 goto page4
if %R2%==2 goto page4
if %R2%==3 goto page4
if %R2%==4 goto page4
if %R2%==5 goto page4
echo HIT A KEY AND TRY AGAIN!
pause >nul
echo Var2=%R2% >>var.txt
goto page3
等等。只是名称变量被写入文件。 :(