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

[文本处理] 菜鸟求助批处理嵌套循环

[复制链接]
发表于 2012-7-29 00:50:15 | 显示全部楼层 |阅读模式
本帖最后由 s4fe 于 2012-7-29 10:16 编辑

要生成这样的格式
  1. config router static

  2.     edit 50

  3.         set device "port27"

  4.         set dst 61.128.0.0/18

  5.         set gateway 222.74.13.17

  6.     next
复制代码
我没学过边搜索边做只能做到这样的程度了……
  1. @echo off

  2. setlocal enabledelayedexpansion

  3. set /p input=请输入ID:

  4. set /a id=%input%

  5. for /l %%i in (1,1,100) do (

  6. set /a id+=1

  7. @echo config router static>>fw.txt

  8. @echo edit !id!>>fw.txt

  9. @echo set device "port27">>fw.txt


  10. for /f "delims=" %%i in (1.txt) do (

  11. @echo set dst %%i>>fw.txt

  12. set /a n+=1

  13. @echo set gateway 222.74.13.17>>fw.txt

  14. @echo next>>fw.txt

  15. )
复制代码
其他几行都是固定的东西,只有edit后面的数字需要递增  这个已经可以了

就是嵌套循环想从1.txt里读取每一行然后放到set dst后面就不行了

对了  还想控制循环次数 上面的循环100次是因为我知道有多少行了   先得到1.txt的行数,然后把这个行数当作变量放到for里就可以控制循环次数了吧?

请大牛帮帮忙   我以前不会  这些也都是现查现学的    最好带上注释   谢谢啦
 楼主| 发表于 2012-7-29 10:17:28 | 显示全部楼层
顶起来~~~~~~~~~~~~~~
发表于 2012-7-29 10:58:44 | 显示全部楼层
循环读取文本用for /f
把//注释去掉才能运行
  1. @echo off & setlocal ENABLEDELAYEDEXPANSION   //开启变量延迟
  2. set /p id=请输入ID:
  3. (
  4. for /f "delims=" %%a in (1.txt) do (                      //循环读取1.txt,一次一行
  5.       set /a id+=1
  6.       echo config router static
  7.       echo edit !id!
  8.       echo set device "port27"
  9.       echo set dst %%a
  10.       echo set gateway 222.74.13.17
  11.       echo next
  12. )
  13. )>fw.txt     //把所有输出一次写入fw.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
s4fe + 1 非常感谢

查看全部评分

 楼主| 发表于 2012-7-29 15:10:39 | 显示全部楼层
1.不需要set /a id=%input%这个也能取到值?
2.输出的时候echo 111>1.txt和@echo 111>1.txt有什么区别呢?
3.%%a和%a%有什么区别呢?

我才开始学习很多基础的东西不懂  
发表于 2012-7-30 17:49:53 | 显示全部楼层
1.不需要set /a id=%input%这个也能取到值,只是后面变量名要改成input
2.输出的时候echo 111>1.txt和@echo 111>1.txt,前者有回显,后都没有(好像是废话)。
3..%%a用于for语句的形式变量,而%a%则是全局变里。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 09:02 , Processed in 0.019859 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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