中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 09:55
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 新问题:goto是否能用在for循环中?
可打印版本  1,098 / 6
第1楼 bat-zw 发表于 2008-03-30 20:59
金牌会员 发帖 1,276 积分 3,105
新问题:goto是否能用在for循环中?
goto语句是不是不能在for循环中使用啊(不出本循环),如果能用,要怎么使用啊?
第2楼 knoppix7 发表于 2008-03-30 21:05
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
这种问题当然要自己试验啦
第3楼 HAT 发表于 2008-03-31 13:34
版主 发帖 5,017 积分 9,023
for循环里面不能嵌套label的,以前有讨论,处理办法是if或者call出来。
第4楼 Shinaterry 发表于 2008-03-31 18:12
初级用户 发帖 51 积分 97
参考脚本:

第5楼 huahua0919 发表于 2008-03-31 18:28
银牌会员 发帖 780 积分 1,608
楼上的已经出本循环了
第6楼 gool123456 发表于 2010-04-16 19:16
初级用户 发帖 76 积分 89
这是我的一帖子的代码 ,不知道有没有错 ,但代码可以运行。
@echo off
cd.>_bat.txt
for %%c in (*.*) do (
set nc=%%c
if "!nc!"=="%~nx0" goto b
echo ------------------ >>_bat.txt
echo %%c: >>_bat.txt
echo. >>_bat.txt
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (%%c) do (
set mu=%%i
if not "!mu!"=="" echo %%i>>_bat.txt
)
:b
echo.
)
echo ------------------ >>_bat.txt
echo. >>_bat.txt
echo %~nx0 >>_bat.txt
type %~xn0 >>_bat.txt
pause
第7楼 Hanyeguxing 发表于 2010-04-16 19:44
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
Originally posted by gool123456 at 2010-4-16 19:16:
这是我的一帖子的代码 ,不知道有没有错 ,但代码可以运行。
@echo off
cd.>_bat.txt
for %%c in (*.*) do (
set nc=%%c
if "!nc!"=="%~nx0" goto b
ec ...

这样用setlocal enabledelayedexpansion,会很容易造成超出最大递归层的.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023