中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 14:23
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 排序问题
可打印版本  900 / 6
第1楼 tanytxxx 发表于 2010-03-06 21:15
新手上路 发帖 14 积分 16
排序问题
第352集$31762956
第351集$31409628
第349-350集$31038027
第348集$30275965
第347集$30275004

怎样改成以下的顺序:

第347集$30275004
第348集$30275965
第349-350集$31038027
第351集$31409628
第352集$31762956
第2楼 tachyon 发表于 2010-03-06 23:39
初级用户 发帖 32 积分 33
let
ffile=
tfile={
第352集$31762956
第351集$31409628
第349-350集$31038027
第348集$30275965
第347集$30275004
}
ss.cmd
::start
@echo off
for /f "delims=第集" %%i in ('type tfile.txt 2^>nul') do echo %%i >> n.txt
for /f %%j in ('sort n.txt') do type tfile.txt | find /i "%%j" >> ffile.txt
::end

不是很严谨,有可能出现排序错误的情况,请酌情调整。
用系统build-in sort,功能不是很好,有兴趣可以用cmd实现一个排序脚本,
但效率不会太高,而且局限性很大。

[ Last edited by tachyon on 2010-3-7 at 00:00 ]
第3楼 Hanyeguxing 发表于 2010-03-06 23:50
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
第4楼 tachyon 发表于 2010-03-07 00:10
初级用户 发帖 32 积分 33
楼上,
环境变量能放多少? 一定是按升序排列的吗?
第5楼 HAT 发表于 2010-03-07 00:35
版主 发帖 5,017 积分 9,023
GNU 的 sort.exe
第6楼 000000000000000 发表于 2010-03-07 00:41
初级用户 发帖 42 积分 49
第7楼 tanytxxx 发表于 2010-03-07 10:33
新手上路 发帖 14 积分 16
Originally posted by 000000000000000 at 2010-3-7 00:41:



谢谢六楼

不过如果是下面的排序就会错:
第200集$2526154
...
第2集$2533922
第1集$2529441
就会变成
第119集$451570
第11集$2529441
第120集$451617
第121集$451657

不太懂批处理,
只要能把最后一行排在第一行,最后第二行排在第二行
...
第一行排在最后一行就可以了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023