如何打破批处理文件中的 FOR 循环?
Posted
技术标签:
【中文标题】如何打破批处理文件中的 FOR 循环?【英文标题】:How to break the FOR Loop Inside the batch file? 【发布时间】:2017-12-19 04:00:43 【问题描述】:这是我的代码:
@echo off
for /f "tokens=2*" %%a in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\NCR\APTRA\Aggregate
Installer\Inventory\Aggregate\APTRA Self-Service Support" /f 06.04.01') do set "AppPath=%%~b"
echo %AppPath%
cmd /k
所以当我们运行这个批处理文件时,命令提示符会打开,所以我的要求是当我点击 Enter 时,我们需要打破 FOR LOOP,因为命令提示符没有关闭,有人可以帮我吗?
【问题讨论】:
我知道如何break out offor
loops,但我不明白你的问题。你到底想达到什么目的?
如果您的注册表搜索模式更具体,则可能无需跳出循环。 您似乎提前知道该数据的确切位置。您能否向我们展示您尝试解析的确切键、值和数据内容。
当我们运行该批处理文件命令提示符屏幕将显示消息 1 Match Found !并使用位置 C:pangaea\batchfile ,所以当我单击应该关闭的输入按钮但这是重复 C:pangaea\batchfile C:pangaea\batchfile C:pangaea\batchfile C:pangaea\batchfile C:pangaea\batchfile 即使我按回车,我无法附上屏幕截图给你看
使用该代码重复循环 C:pangaea\batchfile, C:pangaea\batchfile, C:pangaea\batchfile 我想用输入按钮关闭 cmd 简而言之!
我想在使用回车键打开命令提示符后退出该输出!
【参考方案1】:
尝试使用 goto:
@echo off
for /f "tokens=2*" %%a in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\NCR\APTRA\Aggregate
Installer\Inventory\Aggregate\APTRA Self-Service Support" /f 06.04.01') do (
set "AppPath=%%~b"
goto :break
)
:break
echo %AppPath%
cmd /k
【讨论】:
是的,当我尝试运行此代码时,命令提示符无法打开!同时运行和关闭,但是命令提示符需要打开应该显示消息,当我们点击回车时,需要关闭以上是关于如何打破批处理文件中的 FOR 循环?的主要内容,如果未能解决你的问题,请参考以下文章
如何在批处理文件中使用for循环列出文件夹中所有文件和目录的名称