Board logo

标题: [文本处理] [已解决]批处理怎样根据输入生成文件请教代码修改? [打印本页]

作者: wh1234567    时间: 2011-5-19 01:35     标题: [已解决]批处理怎样根据输入生成文件请教代码修改?

帮忙修改一下这个批处理代码:
  1. @echo off
  2. del /a /f /q OKIP.TXT >nul 2>nul
  3. set a=
  4. set /p a=请输入IP头和范围/用空格隔开 如(218 0 20)
  5. for /f "tokens=1-3" %%i in ("%a%") do (
  6. for /l %%a in (%%j,1,%%k) do (echo %%i.%%a.3.12 %%i.%%a.45.58>>OKIP.TXT)
  7. )
  8. start notepad OKIP.TXT
复制代码
修改后的批处理只需要输入2个数用空格隔开,例如输入32 45,即可自动输出文本为:
32.6.3.12 32.55.45.58
33.6.3.12 33.55.45.58
......
45.6.3.12 45.55.45.58
作者: applba    时间: 2011-5-19 02:31

本帖最后由 applba 于 2011-5-19 02:33 编辑
  1. @echo off
  2. del /a /f /q OKIP.TXT >nul 2>nul
  3. set a=
  4. echo 请输入IP头和范围/用空格隔开:
  5. set /p a=_
  6. for /f "tokens=1,2" %%i in ("%a%") do (
  7. for /l %%a in (%%i,1,%%j) do (
  8. echo %%a.6.3.12 %%a.55.45.58 >>okip.txt
  9. )
  10. )
复制代码
仅供参考,不考虑各种异常输入
作者: applba    时间: 2011-5-19 02:32

本帖最后由 applba 于 2011-5-19 02:40 编辑

按照楼主的意思写了一个,发现完全没有使用变量延迟,惊喜中……

给楼主指出几点出错的原因:
for /f 、for嵌套用不对
字符串末尾的数字不能和> >> <相连

楼主有学习批处理的天赋,赶快努力吧
作者: techon    时间: 2011-5-19 02:32

32.6.3.12 32.55.45.58
x.6.3.12 y.55.45.58

x,y 后面的数字是固定的?
作者: applba    时间: 2011-5-19 02:34

4# techon


是啊,这个东西他没给出来,我也纳闷,就直接套了他的例子。
作者: wh1234567    时间: 2011-5-19 02:51

2# applba

不错!很感谢高手各位网友,可以用




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