批处理文件在运行时会发生奇怪的事情

时间:2015-05-28 10:28:57

标签: windows batch-file

我在使用此代码时遇到很多问题,有人可以向我解释有什么问题吗?这是我的代码:

@echo off
cls
set name=Guest
color 0f
:makefolder
cls
echo Setting up FOLDERS...
pause
if exist C:\dasboot GOTO makefiles
if not exist C:\dasboot mkdir C:\dasboot
:makefiles
cls
echo Setting up FILES...
pause
if exist C:\dasboot\password.txt GOTO checkuser
if not exist C:\dasboot\password.txt break>C:\dasboot\password.txt
GOTO checkuser
:checkuser
cls
echo Checking USER FILES...
if exist C:\dasboot\username.txt GOTO start
if not exist C:\dasboot\username.txt break>C:\dasboot\username.txt
echo.
echo DONE. OK.
echo.
pause
GOTO start
:start
echo --------------------------------------
echo Welcome %name%, to Das Boot v.0.1a BETA
echo --------------------------------------
echo.
pause
GOTO username
:username
cls
color 0a
if not exist C:\dasboot\username.txt if not exist C:\dasboot\password.txt GOTO setstats
if exist C:\dasboot\username.txt set /p name=<C:\dasboot\username.txt
if exist C:\dasboot\password.txt set /p password=<C:\dasboot\password.txt
if name=<C:\dasboot\username.txt if password=C:\dasboot\password.txt GOTO welcomeback
GOTO setstats

:setstats
set /p name="USERNAME: "
set /p password="CREATE A PASSWORD: "

:welcomeback
cls
echo Welcome back, %name%. Your password is %password%.
echo.
pause
exit

我的问题是,批处理文件不断跳过:setstats部分,即使我将if not exist C:\dasboot\username.txt if not exist C:\dasboot\password.txt GOTO setstats仍然跳过,批处理文件立即关闭。有没有人有办法解决吗?请注意:我是一个批量的初学者,所以请尝试愚蠢的答案给我一点点大声笑。非常感谢!

P.S。如果有帮助的话,我正在使用notepad ++来实现这个目标

编辑:使用/p它似乎仍然退出。 EDIT2:我删除了<。工作得更好但在运行if name=<C:\dasboot\username.txt if password=<C:\dasboot\password.txt GOTO welcomeback GOTO setstats部分后仍然随机退出。任何人都知道如何解决这个问题?

0 个答案:

没有答案