你好有堆叠器!
我有一个问题,我需要一个批处理脚本,它将使用一组参数启动我的游戏(-something 1 -somethingelse 0 -language EN),依此类推。等到它做了一些东西然后关闭,之后我需要用不同的参数再次启动它,所以它就这样了。
基本上我希望我的游戏可以使用不同的语言设置启动几次,我希望将所有语言都放在一个数组中
set lang[0] = "EN"
set lang[1] = "DE"
...
set lang [n] = "..."
然后我想循环遍历这些值,并基本上使用参数-language put_array_values_here启动游戏。
虽然我可以编写自己的游戏,但我从来没有做过Windows脚本,而且我完全是绿色的,而实际上有一个小截止日期:<
你们可以帮忙吗?
答案 0 :(得分:1)
好的,试试这个:
setlocal enabledelayedexpansion
:: Set number of languages:
set n=100
:: Set Values:
::: set "lang[0]=EN"
::: set "lang[1]=DE"
::: ...
::: set "lang[n]=..."
set "game=Game.exe -something 1 -somethingelse 0 -language "
:: Default game parameters ending in language and a trailing space
:: Loop to call all languages
for /l %%a in (0, 1, %n%) do (
%game%!lang[%%a]!
)
这应该做你想要的。
答案 1 :(得分:1)
我不会乱糟糟的数组。相反,我只是使用简单的FOR循环处理列表。只需在每种语言的括号内添加一行即可。
@echo off
for %%L in (
EN
DE
etc.
) do yourGame.exe -language %%L
如果您的文本文件每行包含一种语言,则可以使用FOR / F代替
@echo off
for /f %%L in (language.txt) do yourGame.exe -language %%L