标题: [文本处理] [已解决]批处理将ip地址按数字大小排序 [打印本页]
作者: wangdao6699 时间: 2015-4-8 16:01 标题: [已解决]批处理将ip地址按数字大小排序
本帖最后由 pcl_test 于 2016-7-12 15:54 编辑
记事本有一组IP地址:
225.224.100.16
192.168.1.106
136.1.68.38
256.1.68.38
10.18.6.89
12.168.50.76
。。。。。。
输出结果:
10.18.6.89
12.168.50.76
136.1.68.38
192.168.1.106
225.224.100.16
256.1.68.38
。。。。。。
用批处理如何写?
作者: pcl_test 时间: 2015-4-8 16:16
本帖最后由 pcl_test 于 2015-4-8 16:24 编辑
- @echo off & setlocal enabledelayedexpansion
- for /f "tokens=1-4 delims=." %%a in ('type "a.txt"') do set "n=00%%a" & set _!n:~-3!=%%a.%%b.%%c.%%d
- (for /f "tokens=2 delims==" %%b in ('set _') do echo,%%b)>"b.txt"
复制代码
作者: wangdao6699 时间: 2015-4-8 16:23
回复 2# pcl_test
顺序排出来了,能否将结果放到一起?
作者: pcl_test 时间: 2015-4-8 16:25
回复 3# wangdao6699
已修改
作者: wangdao6699 时间: 2015-4-8 16:29
回复 4# pcl_test
还是没有放到一起
作者: pcl_test 时间: 2015-4-8 16:36
把结果发上来看看
作者: wangdao6699 时间: 2015-4-8 16:38
回复 2# pcl_test
结果:
D:\00>echo,10.18.6.89
10.18.6.89
D:\00>echo,12.168.50.76
12.168.50.76
D:\00>echo,136.1.68.38
136.1.68.38
D:\00>echo,192.168.1.106
192.168.1.106
D:\00>echo,225.224.100.16
225.224.100.16
D:\00>echo,256.1.68.38
256.1.68.38
作者: pcl_test 时间: 2015-4-8 16:39
你没用我2楼更改后的代码哦
作者: wangdao6699 时间: 2015-4-8 16:41
回复 8# pcl_test
用了已修改代码,结果还是那样
作者: pcl_test 时间: 2015-4-8 16:44
本帖最后由 pcl_test 于 2015-4-8 16:49 编辑
回复 9# wangdao6699
新建一个批处理文件,重新复制粘贴代码进去
效果演示http://pan.baidu.com/s/1o6kheFg
作者: wangdao6699 时间: 2015-4-8 16:52
回复 10# pcl_test
现在好了,这究竟是怎么回事?太奇怪了
作者: pcl_test 时间: 2015-4-8 17:00
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: wangdao6699 时间: 2015-4-8 17:03
回复 12# pcl_test
刚才测试了,一组
225.224.100.16
225.224.100.106
225.224.100.38
225.224.100.2
225.224.100.89
225.224.100.76
结果显示:只显示:225.224.100.76
假如写一个通用代码那就更完美了
即能应付不同的IP地址组合
作者: pcl_test 时间: 2015-4-8 17:26
回复 13# wangdao6699 - @echo off & setlocal enabledelayedexpansion
- for /f "tokens=1-4 delims=." %%a in ('type "a.txt"') do (
- set "a=00%%a" & set "a=!a:~-3!"
- set "b=00%%b" & set "b=!b:~-3!"
- set "c=00%%c" & set "c=!c:~-3!"
- set "d=00%%d" & set "d=!d:~-3!"
- set "_!a!!b!!c!!d!=%%a.%%b.%%c.%%d"
- )
- (for /f "tokens=2 delims==" %%b in ('set _') do echo,%%b)>"b.txt"
复制代码
作者: xxpinqz 时间: 2015-4-8 17:31
- @echo off & setlocal enabledelayedexpansion
- %1(for /f "tokens=2" %%a in ('%~0 :^|sort') do echo,%%a)>b.txt&exit /b
- for /f "tokens=1-4 delims=." %%a in (a.txt) do (
- set/a #1=1000+%%a,#2=1000+%%b,#3=1000+%%c,#4=1000+%%d
- echo,!#1!!#2!!#3!!#4! %%a.%%b.%%c.%%d
- )
复制代码
作者: wangdao6699 时间: 2015-4-8 17:35
回复 14# pcl_test
你太牛了,测试了几组,完美解决,非常感谢您
作者: wangdao6699 时间: 2015-4-8 17:55
回复 15# xxpinqz
高手,佩服。。。。。。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |