我制作了一个角色文件,其中我的游戏从中抽取数据和变量。看起来像这样:关于批处理游戏,查找并替换字符串
playerName= Marche
playerRace= Elf
playerHP= 100
playerSPD= 200
playerATK= 120
playerDEF= 70
最终幻想引用任何人......?无论如何,当角色升起时,我需要一个批处理脚本来查找字符串“playerHP = 100”。 playerHP被设置为脚本内的变量。基本上,它需要目前的健康,并乘以120%,增加数量。我如何回应该数学的结果来替换当前数字?
例如,如果没有任何意义,我有100健康。我升级,从而使我的健康状态提高120%,所以现在我有120的健康状况。我想查找字符串“playerHP = 100”并将其替换为“playerHP = 120”。
如果可以避免,我不想下载任何其他命令(我已经看过sed几次)。非常感谢
编辑:而不是搜索字符串和替换我接受了jeb的建议,只是删除文件,并重新回应所有的数据。它看起来是这样的:
set /a LeveledUpPlayerHP=(%ppHP%* 12)/(10)
set /a LeveledUpPlayerSPD=(%ppSPD%* 12)/(10)
set /a LeveledUpPlayerATK=(%ppATK%* 12)/(10)
set /a LeveledUpPlayerDEF=(%ppDEF%* 12)/(10)
echo Updating stats...
del "C:\Users\%USERNAME%\Desktop\CMDRPG\player\playerData.dll
ping 1.1.1.1 -n 1 -w 500 > nul
echo playerName= %playerName%>playerData.dll
echo playerRace= %playerRace%>>playerData.dll
echo playerHP= %LeveledUpPlayerHP%>>playerData.dll
echo playerSPD= %LeveledUpPlayerSPD%>>playerData.dll
echo playerATK= %LeveledUpPlayerATK%>>playerData.dll
echo playerDEF= %LeveledUpPlayerDEF%>>playerData.dll
playerName和playerRace都在代码的这部分之前加载。 Ping只是作为一个等待函数,用于在回显新数据之前删除文件。似乎工作正常。感谢所有
可能重复[批处理脚本来替换一个.ini线(http://stackoverflow.com/questions/17800581/batch -script-to-replace-line-in-in-ini) – jeb
另请试试看[SO:你如何为一个批处理rpg保存/加载cmd?](http://stackoverflow.com/q/ 17081050/463115) – jeb
我看着他们,仍然有点困惑。我可以删除文件并输出新的信息,而不是查找和替换。我不确定是否有一个简单的命令可以让我这样做。 有没有办法用新信息替换文本文件中的某一行?这就是我所需要的全部 – user2654489