【问题标题】:Batch file Calls another batch to launch a file in a specific way looping批处理文件调用另一个批处理以特定方式循环启动文件
【发布时间】:2015-12-14 20:25:10
【问题描述】:

为了澄清标题,我制作了一个批处理文件以使用选择命令并根据输入键调用一个批处理文件,其中包含要加入的服务器以及要使用的程序。我现在遇到的问题是,在运行时,命令会在我的 cmd 窗口上无限循环其输出。我正在寻找一种让它不循环命令输出但仍然显示 /M 的方法。我试过 @ECHO 关闭,但导致 /M 不显示

到目前为止,我的研究是 My Batch File keeps looping, but why? http://ss64.com/nt/choice.html

还有一些关于基本命令的 wiki。

到目前为止我的代码是

CD C:\Users\Chris\Desktop
CHOICE /C 12 /M Select [1] Private server or [2] Other
IF errorlevel 2 call "other.bat"
IF errorlevel 1 call "private.bat"

在我尝试我发现的任何修复之前的原始版本是

CHOICE /C 12 /M Select [1] Private server or [2] Other
IF errorlevel 2 call C:\Users\Chris\Desktop\other.bat
IF errorlevel 1 call C:\Users\Chris\Desktop\private.bat

我在桌面上的上述路径中有两个空批处理文件,因此从技术上讲,这些文件在那里可以找到,但上述任何一个的输出都是循环输出,无法使用输入(即按1 或 2 不做任何事情并继续循环)

【问题讨论】:

  • 循环什么命令?您是否尝试过启动批处理文件而不是调用它们?
  • if errorlevel 1 表示%ERRORLEVEL% 是否大于或等于1。您需要else ifif %ERRORLEVEL% equ 1
  • CHOICE /C 12 /M "Select [1] Private server or [2] Other"(缺少双引号)。
  • i.gyazo.com/3d8980c840c01235f5fb405ab0c9837c.png 回复 dennis 这是命令循环,目前目标批处理文件为空。对于 rojo,这是否意味着我添加百分比并从 equals 中删除 als?至于 josefZ,我在没有成功的任何一种方法中添加了报价。丹尼

标签: windows loops batch-file cmd choice


【解决方案1】:

将您的文件另存为choice.bat以外的其他文件

当达到choice 时,它执行批处理,而不是choice 命令因此循环。

你肯定需要/m后面的字符串引起引号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    相关资源
    最近更新 更多