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

[文本处理] BAT批处理如何修改下文本?

115.56.52.230    4258  Open            
115.56.52.230    4259  Open            
115.56.56.79     4277  Open            
115.56.56.211    4222  Open            
115.56.56.211    4228  Open            
115.56.60.203    4265  Open            
115.56.68.29     4233  Open            
115.56.70.211    4277  Open            
115.56.75.108    4281  Open            
115.56.75.108    4285  Open            
115.56.77.70     4218  Open            
115.56.77.70     4219  Open     
115.56.90.3      4277  Open

能不能用批处理,转换成
115.56.77.70:4219
115.56.75.108:4285
115.56.90.3:4277

这种格式 的            先谢了

  1. @echo off
  2. for /f "tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt
  3. pause
复制代码
1

评分人数

    • battab: 我也是这样写的^-^技术 + 1

TOP

回复 2# 522235677


    谢谢

TOP

回复 2# 522235677


    -------------------------------------------------------------------------------
Performing Time: 1/13/2014 15:3:1 --> SYN Scan: About To Scan 131072 IP For 101 Ports Using 1 Thread
LastIP Scanned: 115.56.0.49:4215
Scan 48 IPs Complete In 0 Hours 0 Minutes 1 Seconds. Found 0 Hosts
-------------------------------------------------------------------------------               
115.56.51.32     4239  Open            
115.56.104.5     4223  Open            
115.56.121.230   4277  Open            
115.56.104.5     4217  Open            
115.56.104.5     4220  Open            
115.56.123.2     4277  Open            
115.56.125.227   4211  Open            
LastIP Scanned: 115.56.126.220:4225
Scan 32475 IPs Complete In 0 Hours 14 Minutes 56 Seconds. Found 72 Hosts
-------------------------------------------------------------------------------
用这种 方式太麻烦
echo off
echo=================================================================================
pause>nul
for /f "eol= tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt
for /f "eol=- tokens=1 delims= " %%a in (2.txt) do echo %%a>>s1.txt
for /f "eol=P tokens=1 delims= " %%a in (s1.txt) do echo %%a>>s2.txt
for /f "eol=S tokens=1 delims= " %%a in (s2.txt) do echo %%a>>S3.txt
for /f "eol=L tokens=1 delims= " %%a in (s2.txt) do echo %%a>>s4.txt
del S1.txt
del S2.txt
del S3.txt
del S4.txt
del 1.txt

能不能简单一点的,比如说 :空格 - P  S   L 只用一个命令,FOR,就全执行了,,,,,

TOP

回复 4# uckiss
  1. @echo off
  2. for /f " skip=5 tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt
  3. pause
复制代码
用这个试试
学习中

TOP

回复 5# battab


    这个不行,

TOP

回复 5# battab


    在网上找了半天,findstr /I /V 这个 命令可以,但用法还没找出来

TOP

回复 7# uckiss


    SKIP,是跳过五行的意思,,,,,前五可以,,            关键是,中间,,的行,也有好多,

TOP

比如说,包含 - S P L的行,全部,忽略,或不要,,,,,EOL 可以表达多个么,    EOL= - S P L   如果可以怎么表达出来

TOP

回复 5# battab


    EOL如果不可以,多个,,那么,可以用其他命令吧,比如说,删除含有 - P S  L 的行,

TOP

  1. @echo off
  2. for /f "tokens=1,2" %%a in ('findstr /i "open" 1.txt') do echo %%a:%%b>>2.txt
  3. pause
复制代码

TOP

回复 11# 522235677


    谢谢你们啦,搞定

TOP

回复 7# uckiss
  1. @echo off
  2. for /f "tokens=1,2" %%i in ('findstr /i/v "Performing LastIP Scan -"  
  3. test.txt') do echo %%i:%%j>>2.txt
复制代码
这样也能达到目的!
学习中

TOP

返回列表