[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何将txt文本以指定分隔符后面的数字大小排序?

本帖最后由 pcl_test 于 2016-7-12 17:11 编辑

要排序的 参赛记录:cjjl.txt 如下:
  1. 20130312-015: 07杜丹丹上场
  2. 20130312-014: 09李璐上场
  3. 20130312-013: 15张浩上场
  4. 20130312-012: 12晓红上场
  5. 20130312-011: 05魏婷上场
  6. 20130312-010: 09李璐上场
  7. 20130312-009: 03马小玲上场
  8. 20130312-008: 07杜丹丹上场
  9. 20130312-007: 06冯小刚上场
  10. 20130312-006: 01赵可可上场
  11. 20130312-005: 11郭海明上场
  12. 20130312-004: 08王晓冉上场
  13. 20130312-003: 06冯小刚上场
  14. 20130312-002: 03马小玲上场
  15. 20130312-001: 01赵可可上场
  16. 20130311-098: 04杜柯河上场
  17. 20130311-097: 01赵可可上场
  18. 20130311-096: 11郭海明上场
  19. 20130311-095: 10乔家华上场
  20. 20130311-094: 01赵可可上场
复制代码
要做的就是 以:20130312-015  的“ 015 ”这个顺序来排序 从小到大!
如:
--------------------------------------------------------------------------------------
20130312-001: 01赵可可上场
20130312-002: 03马小玲上场
20130312-003: 06冯小刚上场




------------------------------------------------------------------------------------------------------------------
并且要去掉昨天的记录,只保留今天的!!     如20130311-098这些都不要了!   一定要注意跨月问题!  如  今天3月1号  不可能用减一天的算法来清除去头一天的记录,不然就变成3月0号了! 当然还有其他方式解决这个问题,



谢谢大家,来帮忙!

  1. @echo off
  2. set day=%date:~0,-3%
  3. set day=%day:/=%
  4. findstr "%day%" cjjl.txt|sort /+10 >cjjl_result_%day%.txt
复制代码

TOP

回复 2# wankoilz


   你好,不行啊!

TOP

错误提示是什么?

TOP

回复 4# wankoilz


  生成一个空白文件  cjjl_result_2013-03.txt

TOP

回复 4# wankoilz


   
是时间格式出问题,,你的 时间生成是 2013-03
我的要格式为20130313

TOP

回复 6# qlewa


开始
运行
cmd
echo %date%
把结果贴出来看看

TOP

回复 7# BAT-VBS


    2013-03-13

TOP

回复 8# qlewa
  1. @echo off
  2. set day=%date%
  3. set day=%day:-=%
  4. findstr "%day%" cjjl.txt|sort /+10 >cjjl_result_%day%.txt
复制代码

TOP

原来如此!

TOP

  1. @echo off
  2. for /f "tokens=2 delims==" %%i in ('wmic os get LocalDateTime /Value') do set d=%%i
  3. findstr /b "%d:~,8%" cjjl.txt|sort>a.txt
复制代码

TOP

返回列表