标题: [文本处理] 【已解决】批处理枚举取值多列多出“=”号,怎么处理呢 [打印本页]
作者: yujw668 时间: 2018-8-21 11:48 标题: 【已解决】批处理枚举取值多列多出“=”号,怎么处理呢
本帖最后由 yujw668 于 2018-8-27 18:32 编辑
A文本内容如下:
192.168.1.1 2111.1331.1111.2226
192.168.1.3 2111.1111.1111.2228
192.168.1.5 1111.1121.1111.2216
192.168.1.6 7113.1661.1111.2224
192.168.1.9 213.1361.1111.2222
192.168.1.12 1213.1664.1111.1221
192.168.1.23 9613.1651.1111.2321
192.168.1.90 7813.1641.1111.2290
192.168.3.5 2913.1664.1111.2215
192.168.3.23 9633.1651.1111.2223
192.168.3.9 7819.1641.1111.2239
B文本内容如下:
192.168.1.1 1111.1331.1111.2226 mac 机器1
192.168.1.3 1111.1111.1111.2228 windows 机器7
192.168.1.5 1111.1121.1111.2216 linux 机器1
192.168.1.6 7113.1661.1111.2224 linux 机器4
192.168.1.9 513.1361.1111.2222 windows 机器3
192.168.1.12 1213.1664.1111.1221 windows 机器1
192.168.1.23 9613.1651.1111.2321 mac 机器2
192.168.1.90 7813.1641.1111.2290 机器1
192.168.3.23 9633.1651.1111.2223 机器9
192.168.3.9 7819.1641.1111.2239 lixux 机器0
生成的C文本如下:
192.168.1.1 2111.1331.1111.2226 mac=机器1
192.168.1.3 2111.1111.1111.2228 windows=机器7
192.168.1.5 1111.1121.1111.2216 linux=机器1
192.168.1.6 7113.1661.1111.2224 linux=机器4
192.168.1.9 213.1361.1111.2222 windows=机器3
192.168.1.12 1213.1664.1111.1221 windows=机器1
192.168.1.23 9613.1651.1111.2321 mac=机器2
192.168.1.90 7813.1641.1111.2290 机器1=
192.168.3.5 2913.1664.1111.2215
192.168.3.23 9633.1651.1111.2223 机器9=
192.168.3.9 7819.1641.1111.2239 lixux=机器0
不知道为什么多列枚举的时候会多出=号,该怎么处理呢?
代码如下- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- for /f "tokens=1,3,4" %%a in (B.txt) do set %%a=%%b=%%c
- (for /f "tokens=1,2" %%a in (A.txt) do echo %%a %%b !%%a! !%%b!)>c.txt
复制代码
描述,列出A文本的1,2列,并添加B文本的3,4列 合并到C文本导出。
作者: Batcher 时间: 2018-8-21 12:40
set %%a=%%b=%%c
把这个红色的等号改成空格
作者: yujw668 时间: 2018-8-21 14:38
谢谢版主,已经解决啦。原来变量是这样赋值。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |