Board logo

标题: [文本处理] 批处理for循环中的变量怎么用set来处理? [打印本页]

作者: Ttaons    时间: 2011-4-11 09:31     标题: 批处理for循环中的变量怎么用set来处理?

我想写个关于显示网络连接情况的批处理,结果在查找取来的字段前面有三个空格,代码如下
  1. @echo off
  2. SETLOCAL ENABLEDELAYEDEXPANSION
  3. for /f "tokens=1,* delims=:." %%a in ('ipconfig /all') do (
  4. rem 将取到的字符交给一个自定义变量,因为我不知道怎么用set处理for循环里面的变量
  5. set var=%%a
  6. rem 去除掉前面的三个空格,例如   ipv4变成ipv4
  7. set var=%!var!:~2%
  8. rem 输出
  9. echo !var!
  10. pause
  11. )
  12. pause
复制代码
则显示,2,直接把前面取到的字符串给忽略了
而如果将代码
  1. set var=%!var!:~2%
复制代码
改成
  1. set var=%var:~2%
复制代码
也是显示~2,直接抓狂啊····现在要怎么弄才能实现将%%a里面取到的字符用set处理啊?????
作者: slore    时间: 2011-4-11 12:31

会开延时变量。。。居然不会用啊。。。


set var=!var:~2!
作者: Ttaons    时间: 2011-4-11 14:31

哦·····我名表了···那如果我想不用var而是直接处理%%a····这又该怎么写???
作者: Batcher    时间: 2011-4-11 14:54

3# Ttaons


BAT不支持你这种想法




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