中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于排列问题,请指教? 上一主题 | 下一主题
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『楼 主』:  关于排列问题,请指教?

192.168.1.107 00-15-f2-9a-23-a7
192.168.1.108 00-15-f2-49-f9-dd

排列后的结果
192.168.1.107 0015-f29a-23a7
192.168.1.108 0015-f249-f9dd

如何实现?

2007-8-28 22:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

按-分割
然后第1部分和第2部分直接合并,然后加个-第3和第4部分,再……

2007-8-28 22:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『第 3 楼』:  

你好。谢谢你的回答。能不能说明白点?

2007-8-28 22:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

还不明白啊……

for /f "tokens=1,2,3,4,5,6 delims=-" %%a in ("192.168.1.107 00-15-f2-9a-23-a7") do (
echo %%a%%b-%%c%%d-%%e%%f
)
pause

2007-8-28 23:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jzl168
初级用户





积分 38
发帖 14
注册 2006-8-16
状态 离线
『第 5 楼』:  

for /f "tokens=1,2,3,4,5,6 delims=-" %%a in ("192.168.1.107 00-15-f2-9a-23-a7") do (
echo %%a%%b-%%c%%d-%%e%%f
)
pause

slore兄
为什么这段 do  (
echo %%a%%b-%%c%%d-%%e%%f
)
还要加()  看不出来,想问一下为什么要加,起的做用是什么?

2007-8-29 01:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『第 6 楼』:  

很感谢。

如果我的文本(1.txt)如下:
192.168.0.21 00-18-f3-1b-69-cb
192.168.0.204 00-02-b3-4c-b4-89
192.168.0.205 00-13-20-4b-5c-3a
192.168.0.253 00-07-e9-0a-bc-56
192.168.0.254 00-3c-01-50-59-e4


如何排列成????
192.168.0.21 0018-f31b-69cb
192.168.0.204 0002-b34c-b489
192.168.0.205 0013-204b-5c3a
192.168.0.253 0007-e90a-bc56
192.168.0.254 003c-0150-59e4

这样写为什么不行啊?
@for /f "tokens=1,2,3,4,5,6,7 delims=-" %%a in ("1.txt") do (
@echo %%a%%b%%c-%%d%%e-%%f%%g
)
@pause


另外我试了一下
@for /f "tokens=1,2,3,4,5,6,7 delims=-" %%a in ("192.168.0.21 00-18-f3-1b-69-cb") do (
@echo %%a%%b-%%c%%d-%%e%%f%%g
)
@pause
执行结果怎么变成“192.168.0.21 0018f3-1b69-cb”。MAC排列不对?

[ Last edited by xg911335 on 2007-8-29 at 04:06 AM ]

2007-8-29 02:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『第 7 楼』:  

知道问题了?原来("1.txt")多了个符号.

但是MAC怎么排列不对呢?
C:\Documents and Settings\xg\桌面>()
192.168.0.204 0002b3-4cb4-89

[ Last edited by xg911335 on 2007-8-29 at 04:06 AM ]

2007-8-29 04:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 8 楼』:  

4楼有各错误。。。
貌似应该是
@echo %%a%%b-%%c%%d-%%e%%f%%g

2007-8-29 07:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 9 楼』:  

干嘛你哦弄那么复杂?



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-8-29 08:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by jzl168 at 2007-8-29 01:00:
for /f "tokens=1,2,3,4,5,6 delims=-" %%a in ("192.168.1.107 00-15-f2-9a-23-a7") do (
echo %%a%%b-%%c%%d-%%e%%f
)
pause

slore兄
为什么这段 do  (
echo %%a%%b-%%c%%d ...

写成一行的话不用加
这里加是让pause在循环外……(当然这里只有一个数据无所谓了)

  Quote:
另外我试了一下
@for /f "tokens=1,2,3,4,5,6,7 delims=-" %%a in ("192.168.0.21 00-18-f3-1b-69-cb") do (
@echo %%a%%b-%%c%%d-%%e%%f%%g
)
@pause
执行结果怎么变成“192.168.0.21 0018f3-1b69-cb”。MAC排列不对?
[quote]
理论上应该对的,我测试也对的……不过不知道你为什么要加7加%%g
(即使加了应该不影响结果,至少我这里是的。)

[quote]Originally posted by knoppix7 at 2007-8-29 07:50:
4楼有各错误。。。
貌似应该是
@echo %%a%%b-%%c%%d-%%e%%f%%g

为什么要这样?%%g为何物?

  Quote:
Originally posted by ccwan at 2007-8-29 08:49:
干嘛你哦弄那么复杂?

哦?ccwan兄有什么简单的呢?
我觉得我的是最简单的了=.=

2007-8-29 08:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 11 楼』:  

re slore
我是说楼主的



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-8-29 09:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: