找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25783|回复: 12

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

[复制链接]
发表于 2014-1-13 14:02:14 | 显示全部楼层 |阅读模式
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

这种格式 的            先谢了
发表于 2014-1-13 14:26:38 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
battab + 1 我也是这样写的^-^

查看全部评分

 楼主| 发表于 2014-1-13 15:11:32 | 显示全部楼层
回复 2# 522235677


    谢谢
 楼主| 发表于 2014-1-13 15:49:34 | 显示全部楼层
回复 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,就全执行了,,,,,
发表于 2014-1-13 16:00:58 | 显示全部楼层
回复 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
复制代码
用这个试试
 楼主| 发表于 2014-1-13 16:32:39 | 显示全部楼层
回复 5# battab


    这个不行,
 楼主| 发表于 2014-1-13 16:35:52 | 显示全部楼层
回复 5# battab


    在网上找了半天,findstr /I /V 这个 命令可以,但用法还没找出来
 楼主| 发表于 2014-1-13 16:39:55 | 显示全部楼层
回复 7# uckiss


    SKIP,是跳过五行的意思,,,,,前五可以,,            关键是,中间,,的行,也有好多,
 楼主| 发表于 2014-1-13 16:41:40 | 显示全部楼层
比如说,包含 - S P L的行,全部,忽略,或不要,,,,,EOL 可以表达多个么,    EOL= - S P L   如果可以怎么表达出来
 楼主| 发表于 2014-1-13 16:43:11 | 显示全部楼层
回复 5# battab


    EOL如果不可以,多个,,那么,可以用其他命令吧,比如说,删除含有 - P S  L 的行,
发表于 2014-1-13 16:56:41 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,2" %%a in ('findstr /i "open" 1.txt') do echo %%a:%%b>>2.txt
  3. pause
复制代码
 楼主| 发表于 2014-1-13 17:21:31 | 显示全部楼层
回复 11# 522235677


    谢谢你们啦,搞定
发表于 2014-1-14 09:40:05 | 显示全部楼层
回复 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
复制代码
这样也能达到目的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:50 , Processed in 0.034133 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表