找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: BatHome

[原创] 批处理for命令通俗解释(2007-11-4日更新)

[复制链接]
发表于 2011-12-17 16:48:59 | 显示全部楼层
复杂???看不懂啊!
发表于 2012-2-10 13:57:30 | 显示全部楼层
本帖最后由 yinzzi 于 2012-2-10 14:12 编辑

@echo off
for /l %%i in (5 5 20) do echo %%i
pause

看来真的要多练才行了,有一些空格还是没有注意到。。不过不知道为什么在括号里面为什么要用上逗号。不加逗号不是也一样可以吗?
发表于 2012-4-7 23:42:14 | 显示全部楼层

  1. @echo off
  2. for /d %%i in (*) do echo %%i
  3. pause>nul
复制代码
此处代码在我这儿不显示任何内容,怎么回事呢?winxp pro sp3
发表于 2012-4-7 23:45:09 | 显示全部楼层
回复 64# xiaopo


在代码所在的目录下新建几个文件夹,再试试。
发表于 2012-4-7 23:46:01 | 显示全部楼层
回复 62# yinzzi


都行
逗号是可选的命令分隔符之一
发表于 2012-4-7 23:46:54 | 显示全部楼层
发表于 2012-4-8 22:45:13 | 显示全部楼层
回复 65# HAT


    真不好意思,当前目录无文件夹,粗心大意了。
发表于 2012-6-2 15:41:40 | 显示全部楼层
好东西。值得学习。。。。
发表于 2013-3-20 22:46:23 | 显示全部楼层
个人感觉计算1至20能被5整除的应该这样写:
@echo off
for /l %%i in (20 -5 1) do echo %%i
pause
毕竟条件是1至20这20个数,与(5 5 20)只是结果一样,但条件不一样
发表于 2014-5-24 09:16:22 | 显示全部楼层
有点不懂···
发表于 2014-6-10 20:44:46 | 显示全部楼层
回复 71# sch106338


    多看,多练,多想就懂了
发表于 2015-10-17 15:16:44 | 显示全部楼层
for是我学习过程感觉最难的一部分,现在总算理清了一些
发表于 2016-11-27 08:47:45 | 显示全部楼层
本帖最后由 lizixian 于 2016-11-27 08:53 编辑

回复 30# a1b2dd

帮忙看一下,四则运算在for循环中无法正常执行。
@echo off
setlocal enabledelayedexpansion
set /a a ...
a1b2dd 发表于 2009-2-7 23:26


虽然我是来挖坟的,晚辈在此献丑了
括弧不对称是因为do 后边的 ( 与 !a!* 后面的(相对应 而2+1后边的) 却与!b!后面的)相对应  所以造成两个括符不对称
只需要给 需要对应的对称括号两边加双引号即可 如下

@echo off
setlocal enabledelayedexpansion
set /a a=3
for /l %%i in (1,1,2) do (
set /a " b=!a!*(!a!*2+1) "
echo,!b!
)
set /a b=!a!*(!a!*2+1)
echo !b!
发表于 2023-2-8 10:30:37 | 显示全部楼层
请教一下 in 后面的括号里面能否含有变量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:49 , Processed in 0.021869 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表