我正在批量制作一个游戏,但当我试图写入一个文件时,cmd就崩溃了。我写到一个文件是为了保存数据。这样用户就可以直接回来加载了。
创建用户代码块。
:cruser1
cls
set /a created=1
echo(
set /p name=Enter The Name of The User::
goto save
加载用户代码块:
:loaduser
cls
set /a created=0
echo(
set /p loaduser=Enter The Name of The User to Load::
if exist "%loaduser%.dll" (
< %loaduser%.dll (
set /p MHP=
set /p HP=
set /p DMG=
set /p GOLD=
set /p EXP=
set /p LVL=
set /p MEXP=
)
goto menu
)
if not exist "%loaduser%.dll" (
echo File not found.
timeout /t 3 /NOBREAK >nul
goto loaduser
)
Save Data Code Block:
:save
cls
echo(
if %created% equ 1(
(
echo %MHP%
echo %HP%
echo %DMG%
echo %GOLD%
echo %EXP%
echo %LVL%
echo %MEXP%
) > %name%.dll
attrib +h "%name%.dll"
goto menu
)
if %created% equ 0(
(
echo %MHP%
echo %HP%
echo %DMG%
echo %GOLD%
echo %EXP%
echo %LVL%
echo %MEXP%
) > %loaduser%.dll
attrib +h "%loaduser%.dll"
goto menu
)
有谁知道如何解决这个问题,为什么会这样?
编辑:我调试了一下,保存后呼应了一下 it worked
在我杀了敌人之后,它确实说过 it worked
但也 Access is denied
.希望能帮到你。
你有错误的小括号,问题一,问题二,无法测试现有隐藏文件的存在。
If exist "%loaduser%.dll" attrib -h "%loaduser%.dll"
if %created% equ 0 (
echo %MHP%
echo %HP%
echo %DMG%
echo %GOLD%
echo %EXP%
echo %LVL%
echo %MEXP%
) > %loaduser%.dll
attrib +h "%loaduser%.dll"
goto menu