[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
另外一种,以前经常用的:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.      set /a n+=100001
  4.      echo !n:~-6!:%%a
  5. )>tmp
  6. (for /l "tokens=1* delims=:" %%a in ('sort /r tmp') do echo %%b)>2.txt
  7. del tmp
  8. start a.txt
复制代码
但是碰到大文件时,for两遍的效率会很低

TOP

  1. sort /r 111.txt >hello.txt
  2. start "" "hello.txt"
复制代码

TOP

17# Hello123World


Windows的sort命令不会按照我们的想法去排序的
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

顶顶顶顶顶顶顶

TOP

哈哈 虽然这个已经解决了但是看到了 还是要给个好方法的。
  1. REM :: 打开变量延迟
  2. @Echo Off&SetLocal EnableDelayedExpansion
  3. REM :: 设定一个增值变量值为0
  4. Set Varn=0
  5. REM :: 首次循环判断文本中一共有多少行,并将每一行赋值于一个变量。
  6. For /f %%a in (1.txt) do (
  7. Set Vara=%%a
  8. Set /a Varn+=1
  9. Set "Var!Varn!=!Vara!"
  10. )
  11. REM :: 反过来将变量输出
  12. For /l %%b in (%Varn%,-1,1) do (
  13. Echo !Var%%b!
  14. )
  15. Pause
复制代码
不管文本中有多少行,如果行的内容比较复杂的话就要在第一个循环的For命令加上tokens=*参数

TOP

  1. gawk "{a[NR]=$0}END{for(i=NR;i>=1;i--)print a[i]}" a.txt
复制代码

TOP

返回列表