bat批处理 for命令疑问

for /f "skip=3 tokens=1,* delims= " %%i in ('arp -a') do set ip=%%i&call 123.bat
这句话的循环是不是从(arp -a)结果中每读取一个IP接着call???
还是循环读出所有结果再放到变量‘IP’中,然后执行call???

我告诉你哦.
你这个代码是循环的.
因为arp -a取出的是多行信息.
循环每次都CALL一次12.bat的..
你可以在CMD命令行下直接arp -a看看输出信息就明白啦
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-27
每读取一个IP接着call
第2个回答  2008-10-29
从(arp -a)结果中每读取一个IP接着call
如果循环读出所有结果再放到变量‘IP’中,然后执行call应该是:
setlocal ENABLEDELAYEDEXPANSION
for /f "usebackq skip=3 tokens=1,*" %%i in (`arp -a`) do (set ip=%%i !ip! &call 123.bat )

急.. 关于bat中for 使用问题!!
FOR %[%]I IN(字符串1字符串2...字符串n) DO命令 其中I为循环变量,可以是任意字母,但是不能为数字,避免和%0,%1...等等混淆,如果在立即模式下运行则只要加一个%,而如果在批处理中运行则要加两个%.运行此命令时,I会依次取代字符串1,字符串2...,并执行DO命令,字符串也可以是通配符。

关于BAT中的FOR 小菜提问!!!
代表可替换的参数。for 命令使用在 set 中指定的每个文本字符串替换 %%variable(或 %variable),直到此命令(在 command-parameters 中指定)处理所有的文件为止。使用 %% variable 在批处理程序中执行 for 命令。使用 % variable 通过命令提示符执行 for 命令。变量名区分大小写。(set)指定要用指定的...

关于bat批处理 for循环的问题
echo offsetlocal enabledelayedexpansionfor \/f "tokens=2,3 delims= " %%a in ('ipconfig ^|findstr "以太网"') do ( set\/a m+=1 set #!m!=%%a%%b)for \/f "tokens=2 delims=:" %%a in ('ipconfig ^|findstr "IPv4"') do ( set\/a n+=1 set ip!n!=%%a)(for...

bat for命令遇到的一个问题
for \/f "tokens=1-3 delims=," %%1 in (pz.ini) do echo 第一列=%%1,第二列=%%2,第三列=%%3...这个可以提取所有行,而不是只有第一行。如果要提取特定行,可以用 findstr \/n .* pz.ini 来输出带有行数的内容,再for提取:for \/f "tokens=1* delims=:" %%a in ('findstr ...

关于BAT中的FOR 小菜提问!!!
通过将圆括号之间的 filenameset 变为后面带有引号的字符串,可以利用 for \/F 命令解析命令输出。将它作为命令行,此命令被传递给子 Cmd.exe,并将输出捕获到内存并进行解析,就象它是一个文件一样。范例 要在批处理文件中使用 for,请使用以下语法:for %%variable in (set) do command [Command...

BAT for命令运行问题
你的bat里有三个问题 第一个,最低级的错误,for语句括号中的命令用管道符|前要加转义符^ 第二个,for语句括号中的命令用英文半角单引号括起来,全角的不行!第三个,没必要用usebackq选项 echo off for \/f "tokens=2" %%i in ('netstat \/an^|find "ESTABLISHED"^|find ":80"') do (for...

bat for命令遇到的一个问题
for \/f "tokens=1-3 delims=," %%1 in (pz.ini) do echo 第一列=%%1,第二列=%%2,第三列=%%3...这个可以提取所有行,而不是只有第一行。如果要提取特定行,可以用 findstr \/n .* pz.ini 来输出带有行数的内容,再for提取:for \/f "tokens=1* delims=:" %%a in ('findstr ...

批处理BAT文件中FOR语句中echo的显示问题
你试试下面这段批处理的效果,看看是否对解决你的疑问有帮助。echo off echo 无变量延迟 for \/l i in (1,1,5)do (set \/a a=%%i+1 echo i a )echo 有变量延迟 setlocal enabledelayedexpansion for \/l i in (1,1,5)do (set \/a a=%%i+1 echo i !a!)

这个批处理bat中for嵌套错在哪里了
在cmd执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个%括起来的如%value%类似这样的变量,就会对其进行识别,并且查找这个变量对应的值,再而将值替换掉这个变量,这个替换值的过程,就叫做变量扩展,然后再执行命令。for循环前%var%是没有被定义的,而由于代码没...

批处理中for()的问题
1.for当然可以多层套循环,只是每个for命令指定的变量%%a不要重复,那样会乱套的..2.for \/r后面跟的是路径,是指某个位置的路径,你这的%%a是指temp.txt文件的每一行了,不应该这么写。可能是你的这个txt文件每行都是一个路径吧.???for \/r后面跟定的路径可以用变量表示,但不能是前一个for中的...

相似回答
大家正在搜