Board logo

标题: [数值计算] 【已解决】批处理怎样按列从小到大顺序输出行内容 [打印本页]

作者: ads350668398    时间: 2015-11-7 07:52     标题: 【已解决】批处理怎样按列从小到大顺序输出行内容

本帖最后由 pcl_test 于 2017-6-22 20:37 编辑

文本2.txt

04 21 23 24
21 23 24 31
23 24 30 31
10 14 17 25
10 25 29 33
14 17 25 29
17 25 29 33
02 03 06 15
03 06 15 30 ::**
03 06 14 15  ::**
06 15 25 30
11 13 17 28
01 03 08 21
01 02 03 06::**
01 02 03 05::**
目的是从小到大顺序输出列:
01 02 03 05::**
01 02 03 06::**
01 03 08 21
02 03 06 15
03 06 14 15::**
03 06 15 30::**
04.。。。。。
。。。。。。
注意标注的位置 的排序 谢谢 ::**
作者: 依山居    时间: 2015-11-7 08:12

说的是什么意思?
作者: pcl_test    时间: 2015-11-7 11:35

LZ的错别字是一大奇观
作者: ads350668398    时间: 2015-11-7 16:59

有小到大的顺序 列的输出
作者: ads350668398    时间: 2015-11-7 21:23

我就是网了 晕 本来我也做过一个雷死的 晕
作者: /zhqsystem/zhq    时间: 2015-11-9 01:49

本帖最后由 /zhqsystem/zhq 于 2015-11-9 03:56 编辑

  1. @echo off
  2. (echo,Windows Registry Editor Version 5.00
  3. echo/
  4. echo,[-HKEY_CURRENT_USER\Software\name]
  5. )>"%~dp0\执行完成后自动删除.reg"
  6. for /f "delims=" %%i in ('type "%~dp0\1.txt"') do (
  7. reg.exe add "hkcu\software\name\%%i" /f
  8. )
  9. for /f "delims=" %%i in ('reg.exe query "hkcu\software\name"') do (
  10. reg.exe query "%%i" >nul 2>nul&&(
  11.   (echo=%%~nxi)>>"%~dp0\1_new.txt"
  12.   reg.exe delete "%%i" /va /f
  13. )
  14. )
  15. timeout/t 1
  16. regedit.exe /s "%~dp0\执行完成后自动删除.reg"&&del/f/q "%~dp0\执行完成后自动删除.reg"
  17. pause
复制代码

上边的是不转换后边的内容,下边的转换并删除无用空格及其标点,各有不同之处,截取字符串也可以不过考虑最后的字符不稳定没有用到
  1. @echo off
  2. rd/s/q "%~dp0\name" 2>nul
  3. for /f "delims=" %%i in ('type "%~dp0\1.txt"') do (
  4. for /f "tokens=1,* delims=:" %%j in ("%%i") do (
  5.   if "%%k"=="**" (
  6.    md "%~dp0\name\%%~nxj.bathome"
  7.   ) else (
  8.    md "%~dp0\name\%%~nxj"
  9.   )
  10. )
  11. )
  12. (for /f "delims=" %%i in ('dir/ad/b/l/on "%~dp0\name\"') do (
  13. if /i "%%~xi"==".bathome" (
  14.   echo,%%~ni::**
  15. ) else (
  16.   echo,%%~ni
  17. )
  18. )
  19. )>1_new.txt
  20. rd/s/q "%~dp0\name" 2>nul
  21. pause
复制代码

作者: ads350668398    时间: 2015-11-14 18:36

回复 6# /zhqsystem/zhq


    那天 试试 不过 你写的 代码 看不懂 不敢 运行啊 那天好好研究下  还是要谢谢 热心的网友啊
作者: /zhqsystem/zhq    时间: 2015-11-14 19:16

回复 7# ads350668398


    第一种是运用注册表自动名称排序功能,会产生无用注册表,但reg delete 不能直接清除项值,所以需要产生清理的文件来删除,第二种利用建立空文件夹,利用dir名称排序重新整理,这种遇到特殊字符也不能用,简单的排序还是可以用的,之后删除临时新建的文件夹,find重复次数太多反复调用会卡顿,所以选择了临时文件提取方式,也是高效的方式
作者: 依山居    时间: 2015-11-14 19:27

回复 8# /zhqsystem/zhq


    你真是真有耐心。好性子。
作者: pcl_test    时间: 2015-11-14 19:33

type 2.txt|sort
作者: /zhqsystem/zhq    时间: 2015-11-14 19:38

回复 9# 依山居
不是耐心问题是把新鲜思路共享出去,有助于提高效率,其实我比较反感的是伸手党
我猜的没错的话楼主[不是9楼你啊是楼主]也应该算其中一个,借楼提醒下[楼主]啊"刚才忘发了先借楼吧",不要所有都要依靠他人,这样会产生一种依赖,当到一定程度会造成负面影响,没有他人,自己办不了任何事情,建议:代码不用记只用思路和要的结果,代码的经过是为结果"修路"
作者: 依山居    时间: 2015-11-14 20:10

回复 11# /zhqsystem/zhq


    哈哈。我智商还行。我懂的。
作者: ads350668398    时间: 2015-11-15 23:56

聊啥呢#024 我只是不太 精通 BAT 的小白 我自己写的 原创的来来 看看 我可不是啥党啊!!
http://www.bathome.net/thread-38080-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2