中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 02:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个关于累加输出 查看 790 回复 7
楼 主 一个关于累加输出 发表于 2008-07-01 08:10 ·  中国 辽宁 联通
初级用户
积分 44
发帖 20
注册 2006-12-09 12:44
19年会员
UID 73048
性别 男
状态 离线
想将文本文件 aa.text
192.168.5.1|00-13-D4-D0-0D-1F
192.168.5.2|00-13-D4-CA-A3-91
192.168.5.3|00-13-D4-D0-0C-FA
192.168.5.4|00-13-D4-D0-0C-6A
最后输出成
SK01 00-13-D4-D0-0D-1F 192.168.5.1
SK02 00-13-D4-CA-A3-91 192.168.5.2




for /f "tokens=1,2 delims==|" %%a in (mac.txt) do @echo %%~b %%~a >>a.txt

文字换位已经实现,但是不知道,前面的SK01不知道应该如何写,先谢谢了

[ Last edited by axuan on 2008-7-1 at 08:54 AM ]
2 发表于 2008-07-01 09:15 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@echo off&for /f "tokens=1,2 delims=|" %%a in (mac.txt) do set /a n+=1&call,echo sk0%%n%% %%b %%a>>a.txt
批处理之家新域名:www.bathome.net
3 发表于 2008-07-01 09:22 ·  中国 辽宁 联通
初级用户
积分 44
发帖 20
注册 2006-12-09 12:44
19年会员
UID 73048
性别 男
状态 离线
十分感谢,
4 发表于 2008-07-01 10:40 ·  中国 辽宁 联通
初级用户
积分 44
发帖 20
注册 2006-12-09 12:44
19年会员
UID 73048
性别 男
状态 离线
前10个都 没有问题,从SK10开始多了一个0应如何解决 正常应该是SK10 现在变成了,SK010
5 发表于 2008-07-01 10:53 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
>a.txt type nul
for /f "tokens=1,2 delims=|" %%a in (mac.txt) do (
set /a n+=1
if !n! lss 10 (
>>a.txt echo sk0!n! %%b %%a
) else (
>>a.txt echo sk!n! %%b %%a
)
)
6 发表于 2008-07-01 11:03 ·  中国 辽宁 联通
初级用户
积分 44
发帖 20
注册 2006-12-09 12:44
19年会员
UID 73048
性别 男
状态 离线
这回好用了,万分谢谢
7 发表于 2008-07-01 15:26 ·  中国 辽宁 联通
初级用户
积分 44
发帖 20
注册 2006-12-09 12:44
19年会员
UID 73048
性别 男
状态 离线
谢谢,,是我一开始没有说清楚
十分感谢
8 run it in cmd shell 发表于 2008-07-01 16:45 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for /f "delims=|: tokens=1-3" %a in ('findstr /n .* aa.txt') do @if %a lss 10 (echo SK0%a %c %b) else (echo SK%a %c %b)
论坛跳转: