[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理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处理啊?????

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


set var=!var:~2!

TOP

哦·····我名表了···那如果我想不用var而是直接处理%%a····这又该怎么写???

TOP

3# Ttaons


BAT不支持你这种想法
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表