Board logo

标题: 一个关于累加输出 [打印本页]

作者: axuan     时间: 2008-7-1 08:10    标题: 一个关于累加输出

想将文本文件 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 ]
作者: bat-zw     时间: 2008-7-1 09:15
@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
作者: axuan     时间: 2008-7-1 09:22
十分感谢,
作者: axuan     时间: 2008-7-1 10:40
前10个都 没有问题,从SK10开始多了一个0应如何解决 正常应该是SK10 现在变成了,SK010
作者: HAT     时间: 2008-7-1 10:53

@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
  )
)

作者: axuan     时间: 2008-7-1 11:03
这回好用了,万分谢谢
作者: axuan     时间: 2008-7-1 15:26
谢谢,,是我一开始没有说清楚
十分感谢
作者: lxmxn     时间: 2008-7-1 16:45    标题: run it in cmd shell


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)