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

我也来练练手,(第一题)

  1. @echo off&setlocal enabledelayedexpansion
  2. set mon=31 28 31 30 31 30 31 31 30 31 30 31
  3. set ren=甲 乙 丙 丁 戊 己 庚 辛 壬 癸
  4. echo 正在准备。。。
  5. for %%a in (%mon%) do (
  6.         set/a m+=1
  7.         for /l %%b in (1,1,%%a) do (
  8.                 set/a n+=1
  9.                 for %%c in (%ren%) do (
  10.                         set #!random!#%%c#!n!=2009-!m!-%%b
  11.                 )
  12.         )
  13. )
  14. echo 正在生成。。。
  15. (echo 姓名        工资        日期
  16. for /f "skip=2650 tokens=2,4 delims==#" %%a in ('set #') do (
  17.         set/a r=!random!%%100+1,$=!random!%%10
  18.         if !$! equ 0 (set $=-) else (set $=)
  19.         echo %%a        !$!!r!        %%b
  20. ))>a.xls
  21. :end
  22. echo ok!!
  23. pause
复制代码

TOP

小提速(第一题)

  1. @echo off
  2. if "%1"=="#批处理#" goto :sub
  3. setlocal enabledelayedexpansion
  4. set mon=31 28 31 30 31 30 31 31 30 31 30 31
  5. set men=甲 乙 丙 丁 戊 己 庚 辛 壬 癸
  6. for %%a in (%mon%) do (
  7.         set/a m+=1
  8.         for /l %%b in (1,1,%%a) do (
  9.                 set/a n+=1
  10.                 set #!n!=!m!-%%b
  11.         )
  12. )
  13. set 0=-&set l=1000
  14. (echo 姓名        工资        日期
  15. for /f "tokens=2,3 delims==" %%a in ('%~n0 #批处理#^|sort') do (
  16.         set/a $=!random!%%10,r=!random!%%100+1
  17.         for %%c in (!$!) do (
  18.                 echo %%a        !%%c!!r!        2009-%%b
  19.         )
  20.         set /a l-=1,1/l||goto :ok
  21. ))>a.xls
  22. :ok
  23. start a.xls
  24. goto :eof
  25. :sub
  26. set/a k=n
  27. for %%a in (%men%) do (
  28.         setlocal enabledelayedexpansion
  29.         set/a r=!random!%%20+100
  30.         for /l %%b in (1,1,!r!) do (
  31.                 set/a r=!random! %% k + 1
  32.                 for /f "tokens=1,2" %%b in ("!r! !k!") do (
  33.                         echo !random!=%%a=!#%%b!
  34.                         set #%%b=!#%%c!
  35.                         set/a k-=1
  36.                 )
  37.         )        
  38.         endlocal
  39. )
复制代码

[ 本帖最后由 netbenton 于 2009-5-1 18:00 编辑 ]

TOP

第二题

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2,3" %%a in (a.xls) do (
  3.         for /f "tokens=2 delims=-" %%d in ("%%c") do (set/a #%%a#%%d+=%%b)
  4. )
  5. set men=甲 乙 丙 丁 戊 己 庚 辛 壬 癸
  6. set mon=一 二 三 四 五 六 七 八 九 十 十一 十二
  7. (echo 月份        %mon: =        %        小计
  8. for %%a in (%men%) do (set line=%%a&set coun=
  9.         for /l %%b in (1,1,12) do (
  10.                 set line=!line!        !#%%a#%%b!
  11.                 set/a coun+=#%%a#%%b,##%%b+=#%%a#%%b
  12.         )
  13.         echo !line!        !coun!
  14. )
  15. set line=合计&set coun=
  16. for /l %%a in (1,1,12) do (set line=!line!        !##%%a!&set/a coun+=##%%a)
  17. echo !line!        !coun!
  18. )>b.xls
  19. start b.xls
复制代码


可以再少一个for:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2,3" %%a in (a.xls) do (
  3. for /f "tokens=2 delims=-" %%d in ("%%c") do (set/a #%%a#%%d+=%%b,#合计#%%d+=%%b)
  4. )
  5. set men=甲 乙 丙 丁 戊 己 庚 辛 壬 癸
  6. set mon=一 二 三 四 五 六 七 八 九 十 十一 十二
  7. (echo 月份 %mon: = % 小计
  8. for %%a in (%men% 合计) do (set line=%%a&set coun=
  9. for /l %%b in (1,1,12) do (
  10.   set line=!line! !#%%a#%%b!
  11.   set/a coun+=#%%a#%%b
  12. )
  13. echo !line! !coun!
  14. )
  15. )>b.xls
  16. start b.xls
复制代码

[ 本帖最后由 netbenton 于 2009-5-1 19:20 编辑 ]

TOP

返回列表