[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
贴下我的  凑个热闹
  1. @echo off&setlocal enabledelayedexpansion
  2. set "Tab=#"
  3. if "%Tab%"=="#" (
  4.    echo.&echo  请先将代码中的 set "Tab=#" 中的#号改为Tab键
  5.    echo.&pause>nul&exit
  6. )
  7. set/p str=<139.txt
  8. echo.1>nul 3>139_new.txt
  9. for /f "tokens=3* delims=%Tab%" %%i in ("%str%") do set str=%%j
  10.    for %%i in (%str%) do set/a n+=1&set _!n!=%%i
  11.    for /f "skip=1 tokens=1-3* delims=%Tab%" %%i in (139.txt) do (
  12.    set "str=%%i%Tab%%%j%Tab%%%k"
  13.    set "var=%%l"
  14.    set "str1="&set "m="
  15.    set var=!var:%Tab%=%Tab%#!
  16.    call:next "!var!"
  17.    if not defined str1 echo;%Tab%!str!
  18. )
  19. echo.1>nul 4>con
  20. start notepad "139_new.txt"&exit
  21. :next
  22. for /f "tokens=1* delims=%Tab%" %%i in (%1) do (
  23.        set/a m+=1
  24.        for %%a in (%%i) do (
  25.        if not "%%a"=="#" (
  26.        set str1=%%a
  27.        set str1=!str1:#=!
  28.        set str2=!str1:*-=!
  29.        call set str1=%%str1:-!str2!=%%
  30.        for /l %%b in (1!str1! 1 1!str2!) do (
  31.        set b=%%b
  32.        if %%b lss 10000 (set b=!b:~-3!) else set b=!b:~-4!
  33.        call echo;%%_!m!%%!b!%Tab%!str!
  34.        )))
  35.        if not "%%j"=="" call :next "%%j"
  36.   )
  37.          
复制代码

[ 本帖最后由 terse 于 2009-2-14 10:58 编辑 ]

TOP

原帖由 随风 于 2009-2-14 10:51 发表
terse 的代码提示信息中好像少了个反括弧吧
你的代码有误,无法运行,是否发帖时错删了内容??

确实是!   谢随风兄
另随风兄的代码如能应对不定列 就更完美了

[ 本帖最后由 terse 于 2009-2-14 11:00 编辑 ]

TOP

原帖由 随风 于 2009-2-14 11:05 发表


能说详细点吗?
我的代码应该是不受 列数 限制的啊。。?

我测试的是附件里的文本

TOP

原帖由 随风 于 2009-2-14 11:30 发表
我测试了你提供的附件,没什么问题啊?

是我混淆了 我这边错的

TOP

返回列表