2017-05-29 75 views
0

我正在批量创建游戏。我希望系统将文件保存在用户程序文件的文件夹中。这是迄今为止我所拥有的。如何在批处理文件中将文件写入某人的系统?

: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

无论如何,在任何现代Windows版本中,普通用户都不允许写入“程序文件” - 所以如果你尝试过,你的批处理文件就会失败(至少对于任何足够理智而不能以管理员权限运行的人) –

+0

我可以将它粘贴到文件中吗? – Anti

+0

或者我可以把它找到游戏的文件夹中的当前目录,并进行了“保存”子文件夹呢?我需要它来检查这个目录,并在每次启动时都相应地改变命令 – Anti

回答

0

A的有益的意见快速摘要如下

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

- %~dp0是用于那些执行与这个词中有一个命令脚本的当前目录中的术语。可以再次卡在目录命令中。

我还发现,你可以用mkdir,使在上述目录的文件夹。

举个例子,在比赛中我最初做,我现在可以使用

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

这有效地创建一个在任何文件夹中的游戏是“拯救”的文件夹。

-I有还发现您可以使用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命令,它本质在另一个批处理文件中运行批处理文件,将所有命令应用于最初“调用”它的脚本。

谢谢大家谁帮助了!我将在游戏中使用这些游戏!

相关问题