楼 主
[求助]批处理如何替换活动的字符?
发表于 2010-04-08 14:57 · 中国 广东 深圳 电信
新手上路
★
积分 8
发帖 5
注册 2009-10-24 02:42
16年会员
UID 153603
性别 男
状态 离线
58.215.78.51:1433 [sa:123456] Time:16 msec
203.156.144.139:1433 [sa:admin] Time:250 msec
61.147.126.85:1433 [sa:sa] Time:16 msec
222.186.33.232:1433 [sa:123456] Time:0 msec
59.57.228.87:1433 [sa:] Time:78 msec
61.133.30.9:1433 [sa:] Time:109 msec
像这样的我改如何用批处理过滤出下面这样?
58.215.78.51|sa|123456
203.156.144.139|sa|admin
61.147.126.85|sa|sa
222.186.33.232|sa|123456
59.57.228.87|sa|
61.133.30.9|sa|
第 2 楼
发表于 2010-04-08 15:08 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
源文件a.txt
@echo off
for /f "tokens=1-4 delims=: " %%a in (a.txt) do set/p=%%a^|%%c^|<nul&if /i "%%d"=="time" (echo.)else echo.%%d
pause
第 3 楼
发表于 2010-04-08 15:11 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
如果要输出到文本b.txt,则:
@echo off
(for /f "tokens=1-4 delims=: " %%a in (a.txt) do set/p=%%a^|%%c^|<nul&if /i "%%d"=="time" (echo.)else echo.%%d)>b.txt
[
Last edited by Hanyeguxing on 2010-4-8 at 15:12 ]
第 4 楼
发表于 2010-04-08 16:01 · 中国 广东 深圳 电信
新手上路
★
积分 8
发帖 5
注册 2009-10-24 02:42
16年会员
UID 153603
性别 男
状态 离线
第 5 楼
发表于 2010-04-08 16:04 · 中国 广东 深圳 电信
新手上路
★
积分 8
发帖 5
注册 2009-10-24 02:42
16年会员
UID 153603
性别 男
状态 离线
C:\Documents and Settings\Administrator\桌面\123\SoPo共享>set/p=58.215.78.51|sa| 0<nul & if /I "123456" == "time" (echo.) else echo.123456
58.215.78.51|sa|123456
C:\Documents and Settings\Administrator\桌面\123\SoPo共享>set/p=203.156.144.139|sa| 0<nul & if /I "admin" == "time" (echo.) else echo.admin
203.156.144.139|sa|admin
C:\Documents and Settings\Administrator\桌面\123\SoPo共享>set/p=61.147.126.85|sa| 0<nul & if /I "sa" == "time" (echo.) else echo.sa
61.147.126.85|sa|sa
C:\Documents and Settings\Administrator\桌面\123\SoPo共享>set/p=222.186.33.232|sa| 0<nul & if /I "123456" == "time" (echo.) else echo.123456
222.186.33.232|sa|123456
C:\Documents and Settings\Administrator\桌面\123\SoPo共享>set/p=59.57.228.87|sa| 0<nul & if /I "Time" == "time" (echo.) else echo.Time
59.57.228.87|sa|
C:\Documents and Settings\Administrator\桌面\123\SoPo共享>set/p=61.133.30.9|sa| 0<nul & if /I "Time" == "time" (echo.) else echo.Time
61.133.30.9|sa|
处理后为什么成这样了?
第 6 楼
发表于 2010-04-08 16:08 · 中国 广东 深圳 电信
新手上路
★
积分 8
发帖 5
注册 2009-10-24 02:42
16年会员
UID 153603
性别 男
状态 离线
还是无法处理
[ Last edited by ddhack on 2010-4-8 at 16:12 ]
第 7 楼
发表于 2010-04-08 16:30 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
1,我写的是批处理,不是直接在cmd运行的
2,批处理第一行必须是@echo off以关闭回显
第 8 楼
发表于 2010-04-08 17:06 · 中国 广东 佛山 顺德区 电信
初级用户
★★
积分 151
发帖 106
注册 2009-10-09 21:24
16年会员
UID 152856
性别 男
来自 河南省
状态 离线
Hanyeguxing
你好,delims=[]: "这个地方朋点不明白,麻烦你给解释下好吗?
第 9 楼
发表于 2010-04-08 17:35 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
Originally posted by zaixinxiangnian at 2010-4-8 17:06:
Hanyeguxing
你好,delims=: "这个地方朋点不明白,麻烦你给解释下好吗?
全文本内使用:这三个符号以及空格分隔
在delims=中,如果同时使用空格和其他符号分隔,空格要放在最后面
论坛跳转: