[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
晕,贴出来才发现和terse的如同一辙。。。
***共同提高***

TOP

来凑下热闹

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2 delims=:" %%i in ('findstr /n .* a.txt') do (
  3.     if not defined flag (
  4.        set "a=%%j"&set "flag=a"
  5.        ) else (
  6.        if "%%j" neq "" (
  7.           call,set "_!a!=%%_!a!%% "%%j""
  8.           ) else (
  9.           set "flag="  
  10.        )
  11.     )
  12. )
  13. for /f "tokens=1,2 delims==" %%a in ('set _') do (
  14.     echo %%a
  15.     for %%i in (%%b) do echo %%~i
  16.     echo.
  17. )
  18. pause>nul   
复制代码
1

评分人数

***共同提高***

TOP

我也用过sort,也没成功,可能还是思路不畅,同是用set来排的。
似乎都考虑到了这题只是合并第一个序号到第二个序号上一行的内容为一个变量,最后set自动排序。只是方法不同~
心绪平和,眼藏静谧。

TOP

原帖由 pusofalse 于 2008-8-31 20:14 发表
刚看到这题时我感觉有点无从下手,但那只是被这题的外表所迷惑了而已。
感觉terse前辈考虑的有点过于复杂了。

试用sort  没成功
进了胡同

[ 本帖最后由 terse 于 2008-8-31 20:49 编辑 ]

TOP

回复 4楼 的帖子

刚看到这题时我感觉有点无从下手,但那只是被这题的外表所迷惑了而已。
感觉terse前辈考虑的有点过于复杂了。
心绪平和,眼藏静谧。

TOP

先发个粗糙的 感觉可以精简
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims=:" %%i in ('findstr /n .* "1.txt"') do (
  3.     if "%%j"=="" (
  4.     for /f "tokens=1* delims=#" %%a in ("!str!") do (
  5.     set .%%a=%%a#%%b&set str=
  6.     ))
  7.     if defined str (set str=!str!#%%j)else set str=%%j
  8.     )
  9. for /f "tokens=1* delims=#" %%a in ("!str!") do set .%%a=%%a#%%b
  10. for /f "tokens=2 delims==" %%i in ('set .') do (
  11.     set str=%%i
  12.     set "str=!str:#=&echo.!"
  13.     call:lp
  14.     )
  15. pause&exit
  16. :lp
  17. echo %str%
  18. echo.
复制代码

再改就这样  没突破  下面继续吧
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims=:" %%i in ('findstr /n .* "1.txt"') do (
  3.     if not "%%j"=="" (if defined str (set str=!str!#%%j)else set str=%%j)else set .!str!=ok&set str=
  4.     )
  5.     set .!str!=ok
  6.     for /f "tokens=1 delims=.=" %%i in ('set .') do (
  7.     set str=%%i
  8.     set "str=!str:#=&echo.!"
  9.     call:lp
  10.     )
  11.     pause&exit
  12. :lp
  13. echo %str%
  14. echo.
复制代码

[ 本帖最后由 terse 于 2008-8-31 20:39 编辑 ]
1

评分人数

TOP

回复 2楼 的帖子

谢谢指正,已经修改!
心绪平和,眼藏静谧。

TOP


从小到大排列


这句话应该说清楚:按各段落文字第一列数字大小顺序排列!
如:....

TOP

返回列表