我的批处理代码出了什么问题?

时间:2016-07-09 02:57:55

标签: batch-file

我正在尝试为基于文本的RPG游戏制作一个保存系统(这只是为了好玩,不会变成任何东西),但它只是不会保存。我做了一个包含这个问题的小代码。

@echo off
color a
title TestSave
set /a physdam=3
cd C:\Users\%username%\Documents
mkdir testsave2>nul
echo set /a physdam=%physdam%>save.bat
echo Process Complete!
pause>nul

运行此批处理程序时得到的输出是这个;

  

设置/ a physdam =

     

流程完成!

帮助

编辑:它也不会在testsave2文件夹中创建save.bat。

1 个答案:

答案 0 :(得分:1)

如果在>save.bat之前添加空格,它会起作用,但我不确定为什么在没有空格的情况下将文件创建为空白。此外,>save.bat将在当前目录中创建C:\Users\%username%\Documents的文件。您可以cd testsave2或指定>testsave2\save.bat

之类的路径
@echo off
color a
title TestSave
set /a physdam=3
cd %USERPROFILE%\Documents
if not exist testsave2 mkdir testsave2 > nul
echo set /a physdam=%physdam% > testsave2\save.bat
echo Process Complete!
pause > nul

如果要在文件夹testsave2存在时避免出现错误消息,可以使用if not exist testsave2进行检查。

要查看所有环境变量(例如%USERNAME%%USERPROFILE%)的值,您可以使用set命令,后面没有任何内容。