Batch file 同时运行两个批标签(:label)

Batch file 同时运行两个批标签(:label),batch-file,user-input,Batch File,User Input,我目前正在批量制作一个有趣的游戏,除了输入,我已经完成了所有的事情。到目前为止,对于输入,我有以下代码: :input rem Read player input set "key=" for /f "delims=" %%K in ('xcopy /W "%~F0" "%~F0" 2^>nul') do if not defined key set "key=%%K" if "!key:~-1!" equ "!CR!" go

我目前正在批量制作一个有趣的游戏,除了输入,我已经完成了所有的事情。到目前为止,对于输入,我有以下代码:

:input
        rem Read player input
        set "key="
        for /f "delims=" %%K in ('xcopy /W "%~F0" "%~F0" 2^>nul') do if not defined key set "key=%%K"
        if "!key:~-1!" equ "!CR!" goto endInput
        if "!key:~-1!" equ "!BS!" (
            if defined input set "input=%input:~0,-1%"
        ) else (
            set "input=%input%!key:~-1!"
        )
        set /p "=%input%" > input.txt < nul


        if not exist input.txt goto error
        cls
        if exist input.txt (
        for /f "delims=" %%x in (input.txt) do set "inp=%%x"
        set "dir=!input:~-1!"
        ) else goto error
goto input
:输入
rem读取播放器输入
设置“键=”
对于/f“delims=“%%K in('xcopy/W“%~F0”“%~F0”2^>nul'),如果未定义键集,则执行“键=%%K”
如果“!key:~-1!”eq“!CR!”转到endInput
如果“!key:~-1!”eq“!BS!”(
如果定义了输入集“input=%input:~0,-1%”
)否则(
设置“输入=%input%!键:~-1!”
)
设置/p“=%input%”>input.txt

我希望它在运行上面程序的其他部分时检索用户输入。(我知道,它使用外部输入文件,但速度相当快。)

我认为这是不可能的;但是,您可以将其他代码放入一个单独的批处理文件中,并使用
start
命令(不带
/WAIT
开关)运行它——这是一个想法…@aschipfl我不能使用它,因为它会使它慢得多。然而,我知道这是可能的。不管您认为您知道什么,单批处理不可能进行并行处理。Aschipfl基本上是正确的-唯一的选择是运行多个批处理进程,它们之间的通信由临时文件处理。这就是我如何处理用户输入的。两个进程都可以嵌入到一个脚本中,但每个进程的脚本必须单独运行,两个批处理脚本进程都可以在同一控制台窗口中运行。@dbenham我明白你的意思,但我不知道如何做到这一点。你能告诉我怎么做吗?我认为这是不可能的;但是,您可以将其他代码放入一个单独的批处理文件中,并使用
start
命令(不带
/WAIT
开关)运行它——这是一个想法…@aschipfl我不能使用它,因为它会使它慢得多。然而,我知道这是可能的。不管您认为您知道什么,单批处理不可能进行并行处理。Aschipfl基本上是正确的-唯一的选择是运行多个批处理进程,它们之间的通信由临时文件处理。这就是我如何处理用户输入的。两个进程都可以嵌入到一个脚本中,但每个进程的脚本必须单独运行,两个批处理脚本进程都可以在同一控制台窗口中运行。@dbenham我明白你的意思,但我不知道如何做到这一点。你能告诉我怎么做吗?