Board logo

标题: 生成IP表的批处理代码哪里出错了? [打印本页]

作者: jakorzhang    时间: 2012-11-6 16:36     标题: 生成IP表的批处理代码哪里出错了?

  1. @echo off&setlocal enabledelayedexpansion
  2. echo ip表为:>ip.txt
  3. for %%i in (A B C D E F G H) do (
  4. for /l %%j in (1,1,8) do (
  5. set /a ip+=%%j
  6. echo %%i%%j的ip是:192.168.1.!ip! >>ip.txt
  7.   )
  8. )
  9. start ip.txt
  10. pause>nul
复制代码
结果应该是
ip表为
A1的ip是:192.168.1.2
A2.。。。。。。。。。.3
A3.。。。。。。。。。.4
.。。。。
。。。
B1.。。。。。。。。。.2
可是事实不如人愿啊。
作者: Demon    时间: 2012-11-6 16:43

标题违规。
作者: jakorzhang    时间: 2012-11-6 16:49

回复 2# Demon


    以修改 我以为这算是文本处理呢
作者: Demon    时间: 2012-11-6 17:04

本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块;
2、标题或顶楼内容模糊(未说明代码功能或问题所在)的帖子一律关闭;
3、请使用 code 标记把代码部分括起来(选中代码后,单击回复框的 <> 按钮),以便复制;
4、求助时,务必在顶楼一次性把问题交代清楚,建议给出有针对性的样本;
5、问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。(所加的分数由论坛供应)
作者: BAT-VBS    时间: 2012-11-7 07:59

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (echo ip表为:
  4. for %%i in (A B C D E F G H) do (
  5.     for /l %%j in (1,1,8) do (
  6.         set /a ip=%%j+1
  7.         echo %%i%%j的ip是:192.168.1.!ip!
  8.     )
  9. ))>ip.txt
  10. start ip.txt
复制代码

作者: jakorzhang    时间: 2012-11-7 09:19

回复 5# BAT-VBS


    还麻烦给解释解释set /a a+=1和set /a a=a+1不一样吗?
作者: BAT-VBS    时间: 2012-11-7 17:18

回复 6# jakorzhang


一样。
问题在于set /a ip+=%%j等效于set /a ip=%%j+!ip!,而不是set /a ip=%%j+1
作者: jakorzhang    时间: 2012-11-7 17:33

回复 7# BAT-VBS


  不胜感激!我太糊涂了。脑子卡壳了。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2