在.bat文件中无意循环

时间:2012-11-04 05:43:03

标签: loops batch-file cmd

我的代码非常简单,

    @echo off
    cd C:\UVA\
    set /p file= Enter Problem Number::
    %file%.exe < test.txt
    pause

所有这一切都进入了一个文件夹,我在其中放置了一些正在处理的竞争文件,并使用我保存到test.txt的测试条件运行它们。 现在我正在尝试解决一些我认为“正确”的练习问题,就编码竞争而言,这意味着没有无限循环并且在输入完成时正确地停止程序。 但是当我运行这个文件时,无论如何都会出现无限循环。

我不是在这里寻找“修复”,只是建议我可能忽略的东西,或者确保输入文件只读一次的方法。

1 个答案:

答案 0 :(得分:0)

我不确定这是否会有所帮助,但也许您应该使用for循环来读取test.txt中的数据,而不是>然后您可以只传递参数使用从for循环设置的变量。

示例:

@echo off
cd C:\UVA\
set /p file= Enter Problem Number::
for /f "eol=; tokens=1" %%a in (test.txt) do set arg=%%a
%file%.exe %arg%
pause