标题: [文本处理] BAT批处理如何修改下文本? [打印本页]
作者: uckiss 时间: 2014-1-13 14:02 标题: 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
这种格式 的 先谢了
作者: 522235677 时间: 2014-1-13 14:26
- @echo off
- for /f "tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt
- pause
复制代码
作者: uckiss 时间: 2014-1-13 15:11
回复 2# 522235677
谢谢
作者: uckiss 时间: 2014-1-13 15:49
回复 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,就全执行了,,,,,
作者: battab 时间: 2014-1-13 16:00
回复 4# uckiss - @echo off
- for /f " skip=5 tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt
- pause
复制代码
用这个试试
作者: uckiss 时间: 2014-1-13 16:32
回复 5# battab
这个不行,
作者: uckiss 时间: 2014-1-13 16:35
回复 5# battab
在网上找了半天,findstr /I /V 这个 命令可以,但用法还没找出来
作者: uckiss 时间: 2014-1-13 16:39
回复 7# uckiss
SKIP,是跳过五行的意思,,,,,前五可以,, 关键是,中间,,的行,也有好多,
作者: uckiss 时间: 2014-1-13 16:41
比如说,包含 - S P L的行,全部,忽略,或不要,,,,,EOL 可以表达多个么, EOL= - S P L 如果可以怎么表达出来
作者: uckiss 时间: 2014-1-13 16:43
回复 5# battab
EOL如果不可以,多个,,那么,可以用其他命令吧,比如说,删除含有 - P S L 的行,
作者: 522235677 时间: 2014-1-13 16:56
- @echo off
- for /f "tokens=1,2" %%a in ('findstr /i "open" 1.txt') do echo %%a:%%b>>2.txt
- pause
复制代码
作者: uckiss 时间: 2014-1-13 17:21
回复 11# 522235677
谢谢你们啦,搞定
作者: battab 时间: 2014-1-14 09:40
回复 7# uckiss - @echo off
- for /f "tokens=1,2" %%i in ('findstr /i/v "Performing LastIP Scan -"
-
- test.txt') do echo %%i:%%j>>2.txt
复制代码
这样也能达到目的!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |