如何在批处理文件中将文件写入某人的系统?

时间:2017-05-29 20:10:05

标签: batch-file

我正在批量创建游戏。我希望系统将文件保存在用户程序文件的文件夹中。这是我到目前为止所做的。

:FIRST_VALUES
echo set Attack=0
echo set Defense=0
echo set Magic=0
echo set Exp=0
goto save
:SAVE
(
echo set name=%plyrnm%
:DATAVALUES
echo set Attack=%Attack%
echo set Defense=%Defense%
echo set Magic=%Magic%
echo set Exp=%Exp%
)>%plyrnm%_data.bat
cls
pause>nul

我读过有关在另一个查询中创建文件夹和子文件夹的信息,但该人正在写入外部驱动器;我需要它继续用户的系统,其中每个人的目录都不同。此外,询问的人还包括我不认识的“%% ~D”命令,因此答案没有意义。

我希望这可以检查播放器程序文件中的游戏文件夹(可能是x86给它一个较旧的感觉),如果没有,请创建一个,然后将程序保存到所述文件夹。我该怎么做,还有其他方法可以在单独的批处理文件中保存除填充命令之外的其他方法吗?

1 个答案:

答案 0 :(得分:0)

有用评论的快速摘要如下

- %USERPROFILE%是一个人的基本用户目录的通用术语,您可以通过将文件粘贴到目录命令中来创建文件。

- %~dp0是用于执行包含此术语的命令的脚本的当前目录的术语。可以再次卡在目录命令中。

我还发现您可以使用mkdir在目录中创建文件夹。

举个例子,在我最初制作的游戏中,我现在可以使用

if not exist %~0d\saves (
mkdir saves
)

这有效地在游戏所在的任何文件夹中创建了“保存”文件夹。

- 我还发现您可以使用call命令保存和加载游戏文件。我正在使用的内容如下:

:SAVE
(
echo set name=%name%
:DATAVALUES
echo set Attack=%Attack%
echo set Defense=%Defense%
echo set Magic=%Magic%
echo set Exp=%Exp%
)>%plyrnm%_data.bat

这里要做的关键是将所需的命令放在这样的:([commands])>[savename].bat

当我想要加载这些值时,我使用call命令,该命令基本上在另一个中运行批处理文件,将所有命令应用于最初“调用”它的脚本。

感谢所有帮助过的人!我将在游戏中使用这些!