Board logo

标题: [已解决]可以分析下这个批处理是什么意思嗎? [打印本页]

作者: yangshw1990    时间: 2011-9-21 12:40     标题: [已解决]可以分析下这个批处理是什么意思嗎?

本帖最后由 yangshw1990 于 2011-10-18 22:25 编辑
  1. @echo off
  2. (for /f "delims=" %%i in (a.txt) do (
  3.   call :action %%i
  4. ))>b.txt
  5. goto :eof
  6. :action
  7. for /f "skip=4 tokens=1* delims=:" %%j in ('nslookup %1') do (
  8.     echo,%%k   %%i&goto :eof
  9. )
复制代码
這一段是什么意思啊?
誰可以分析下呢
作者: lxzzr    时间: 2011-9-21 12:54

简单的FOR命令调用子过程
作者: CrLf    时间: 2011-9-21 18:46

本帖最后由 CrLf 于 2011-9-21 19:54 编辑

vsbat 反驳有理,故收回本楼警告
作者: vsbat    时间: 2011-9-21 19:08

对不起,标题不含有效搜索关键词,不利于日后搜索,属违规标题,修正前将按规定屏蔽有效回复,请及时修改, ...
CrLf 发表于 2011-9-21 18:46



    我觉得对于本问题,这个标题没什么不好。lz就是要问问这段代码是什么意思。就是这个主题。难道改成“call 的XXX”,''for的XXX‘“就很好嘛
作者: CrLf    时间: 2011-9-21 19:52

回复 4# vsbat


    有道理,换位思考下还真没什么合适的标题可用…我武断了,抱歉,收回警告
作者: Batcher    时间: 2011-9-21 23:05

回复 4# vsbat


关键在于,楼主是知道这段代码的意思的:
http://bbs.bathome.net/thread-14092-1-1.html
作者: 珠七七    时间: 2011-9-22 01:31

嗨,我是新手,经过自己努力,上网找到相应教程,解释回这个批处理.不知道哪里错了,非常希望大家可以指正.
1:关闭回显
2:for语句[ FOR /F ["options"] %%i IN (file) DO command ]
其中/f是会依次将file中的文件打开,并且在进行到下一个文件之前将每个文件读取到内存,按照每一行分成一个一个的元素,忽略空白的行.
delims 用来告诉for每一行应该拿什么作为分隔符,默认的分隔符是空格和tab键.
3.指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
4.把结果写入b.txt
5.运行 Goto :eof 后,CMD 返回并将等待下一命令。
6.
7.跳转到action标签
8.skip就是要忽略文件的前多少行,tokens是通过delims分成的元素时,选择第N列.
9.显示出结果
作者: yangshw1990    时间: 2011-9-23 20:18

我问了,但是回答的只知道是正确的,但是对于里面什么意思,我并不知道,所以问一下!
仅此而已!
作者: wc726842270    时间: 2011-10-18 22:38

呵呵,LZ不用在意,如果说站在不同的角度也都是可以理解的,不懂就问很正常。不过对于你的“仅此而以”表示很欣赏(这句话出于左助,而且我一直也在用,呵呵)




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