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

没测试
简化下计算
另跳格键 需自己改
  1. @echo off&setlocal enabledelayedexpansion
  2. ::这里跳格键
  3. set "Tab= "
  4. set /p str=<char.txt>nul
  5. >char.xls echo !str!
  6. set "A区=候国强 毛远锋 易湛慧 李楠 池茜"
  7. set "B区=王冬 刘通 文娟娟 马宇芊"
  8. for %%i in (A区 B区) do for %%j in (!%%i!) do set %%j=%%i&>%%j.txt echo !str!
  9. for /f "skip=1 tokens=1-4" %%a in (char.txt) do (
  10.     if /i "!%%d!" equ "%%a" if !_%%d! lss 150 (
  11.           set /a _%%d+=1
  12.           >>%%d.txt echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  13.           set "%%a%Tab%%%b%Tab%%%c%Tab%%%d=a"
  14.           for /f "tokens=1,2 delims=." %%i in ("%%c") do (
  15.               set d=%%j000
  16.               set/a #%%d+=%%i!d:~,3!"
  17.           )
  18.     ) else set %%d=&2>nul move %%d.txt "%%d_!#%%d:~,-3!.!#%%d:~-3!.xls"
  19. )
  20. for %%i in (A区 B区) do for %%j in (!%%i!) do if not defined %%j set %%i=!%%i:%%j=!
  21. for /f "skip=1 tokens=1-4" %%a in (char.txt) do (
  22.     if "!%%a%Tab%%%b%Tab%%%c%Tab%%%d!" equ "" (
  23.        for %%i in (!%%a!) do set name=%%~i
  24.        for %%e in (!name!) do if !_%%e! lss 150 (
  25.            set /a _%%e+=1
  26.            >>%%e.txt echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  27.            for /f "tokens=1,2 delims=." %%i in ("%%c") do (
  28.               set d=%%j000
  29.               set/a "#%%e+=%%i!d:~,3!"
  30.            )
  31.        ) else set %%a=!%%a:%%e=!&set name=&2>nul move %%e.txt "%%e_!#%%e:~,-3!.!#%%e:~-3!.xls"
  32.          if not defined name >>char.xls echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  33.     )
  34. )
  35. pause
复制代码
1

评分人数

    • batman: 你小子拿分很积极嘛PB + 30

TOP

受batman代码启发 对于char.xls文件的生成 还是用个过度吧 效率上可提升点
  1. @echo off&setlocal enabledelayedexpansion
  2. ::这里跳格键
  3. set "Tab= "
  4. set /p str=<char.txt>nul
  5. >char.xls echo !str!
  6. set "A区=候国强 毛远锋 易湛慧 李楠 池茜"
  7. set "B区=王冬 刘通 文娟娟 马宇芊"
  8. for %%i in (A区 B区) do for %%j in (!%%i!) do set %%j=%%i&>%%j.txt echo !str!
  9. for /f "skip=1 tokens=1-4" %%a in (char.txt) do (
  10.     if /i "!%%d!" equ "%%a" (
  11.        if !_%%d! lss 150 (
  12.           set /a _%%d+=1
  13.           >>%%d.txt echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  14.           for /f "tokens=1,2 delims=." %%i in ("%%c") do (
  15.               set d=%%j000
  16.               set/a #%%d+=%%i!d:~,3!
  17.           )
  18.        ) else (
  19.          2>nul move "%%d.txt" "%%d_!#%%d:~,-3!.!#%%d:~-3!.xls"
  20.          set %%d=&>>char.xls echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  21.        )
  22.     ) else >>char.xls echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  23. )
  24. for %%i in (A区 B区) do for %%j in (!%%i!) do if not defined %%j set %%i=!%%i:%%j=!
  25. for /f "tokens=1-4" %%a in (char.xls) do (
  26.     for %%i in (!%%a!) do set name=%%~i
  27.     for %%e in (!name!) do if !_%%e! lss 150 (
  28.         set /a _%%e+=1
  29.         >>%%e.txt echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  30.         for /f "tokens=1,2 delims=." %%i in ("%%c") do (
  31.             set d=%%j000
  32.             set/a #%%e+=%%i!d:~,3!
  33.         )
  34.     ) else set %%a=!%%a:%%e=!&set name=&2>nul move "%%e.txt" "%%e_!#%%e:~,-3!.!#%%e:~-3!.xls"
  35.       if not defined name >>char.x echo;%%a%Tab%%%b%Tab%%%c%Tab%%%d
  36. )
  37. move char.x char.xls
  38. pause
复制代码

TOP

返回列表