批处理高手进(TXT文本内容处理)

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:10:34
1.txt内容如下:
0 10.233.1.142 124.31.2.212 UDP 4409 Destination port: 31633
1 10.233.1.143 124.31.2.215 UDP 4409 Destination port: 31633
2 10.233.1.144 124.31.2.211 UDP 4409 Destination port: 31613
3 124.31.2.211 10.233.1.145 UDP 31634 Destination port: 4409
4 124.31.2.211 10.233.1.145 UDP 31634 Destination port: 4409
…………………………
要求,每一行都将前面的序号(0、1、2、3……)去掉,将"Destination port:"去掉;并且删除文件中的内容重复的行, 此时的每一行类似:
124.31.2.211 10.233.1.145 UDP 31634 4409
最后一个要求,将第二个IP地址中 包含10.233的行全部保存到一个新的文本中去!
要求高了点 分数少了点 ,但只有这点分数了 ,实在不好意思,
之前我说用批处理是想得到批处理的代码后自己可以学习更改代码。如果按楼下的兄弟说的用编程的话, 那我得把我的真实需要处理的数据贴出来了, TXT的真实内容是 :
No. Time Source Destination Protocol Info
1 0.000000 10.233.40.142 124.31.2.211 UDP Source port: 4409 Destination port: 31633
2 0.470670 124.31.2.211 10.233.40.142 UDP Source port: 31633 Destination port: 4409
3

@echo off&&setlocal enabledelayedexpansion
if exist 2.txt del 2.txt/f/q
if not exist 1.txt echo 1.txt不在同级目录下,无法处理。&&pause>nul&&goto :eof
for /f "skip=1 tokens=1,2,* delims= " %%a in (1.txt) do (
set var=%%c
set "var=!var:Source port: =!"
set "var=!var:Destination port: =!"
for /f "tokens=1-10 delims= " %%A in ("!var!") do (
echo %%B|findstr "^10.233"&&>>2.txt echo !var!
))
if exist 2.txt (start 2.txt&&echo 处理完毕,请检查。&&pause>nul&&goto :eof) else (echo 未获取指定数据。&&pause>nul&&goto :eof)

::********************************************
::星号以上代码另存为xx.bat,和要处理的文件放在同级目录下,这里假设你的txt文件命名为1.txt
::有问题百度HI联系我

你这个用批处理可不行,得编个程序才行

这是个简单的你用着: http://www.namipan.com/d/replstrs.exe/1059181c3c5f29bfcd85d9afe23163