找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18102|回复: 5

【出题】批处理逐字输出效果练习

[复制链接]
发表于 2011-8-14 12:48:35 | 显示全部楼层 |阅读模式

  1. THEY CAME FIRST for the Coummunists,
  2.      and I didn't speak up because I wasn' t a Communist.

  3. THEN THEY CAME for the Jews,
  4.      and I didn't speak up because I wasn' t a Jew.

  5. THEN THEY CAME for the trade unionists,
  6.      and I didn't speak up because I wasn' t a trade unionist.

  7. THEN THEY CAME for the Catholics,
  8.      and I didn't speak up because I was a Protestant.

  9. THEN THEY CAME for me,
  10.      and by that time no one was left to speak up.



  11.                                      Pastor Martin Niemoeller
复制代码
显示速度每分钟200字母;代码尽量短小简洁;(注意文字内有很多重复短语)
发表于 2011-8-14 13:02:10 | 显示全部楼层
这里的字是指单词还是字母呢?
 楼主| 发表于 2011-8-14 13:10:47 | 显示全部楼层
逐字母显示,就像键盘敲代码的效果。。。
发表于 2011-8-14 14:40:43 | 显示全部楼层
本帖最后由 lfoqtal 于 2011-8-14 14:43 编辑

吃螃蟹呀!
自认为不够精简,输出时间还行啦(包括空格的速度)
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "skip=16 delims=" %%a in (%0) do (
  3.       call :1 "%%a"
  4.       set b=0&echo.
  5.      )
  6. pause<nul
  7. goto :eof
  8. :1
  9. set "a=%~1"
  10. :2
  11. if "!a:~%b%,1!"=="" goto :eof
  12. set/p=!a:~%b%,1!<nul
  13. set /a b+=1
  14. for /l %%i in (1,1,100) do a 2>nul
  15. goto :2

  16. THEY CAME FIRST for the Coummunists,
  17.      and I didn't speak up because I wasn' t a Communist.

  18. THEN THEY CAME for the Jews,
  19.      and I didn't speak up because I wasn' t a Jew.

  20. THEN THEY CAME for the trade unionists,
  21.      and I didn't speak up because I wasn' t a trade unionist.

  22. THEN THEY CAME for the Catholics,
  23.      and I didn't speak up because I was a Protestant.

  24. THEN THEY CAME for me,
  25.      and by that time no one was left to speak up.



  26.                                      Pastor Martin Niemoeller
复制代码
发表于 2011-8-14 17:39:13 | 显示全部楼层
我试一下,做到了分行输出,就是字符之间有空隔,不知谁帮我改一下。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (1.txt) do (
  4. set b=%%i
  5. for /l %%a in (0 1 100) do (
  6. set/p var=!var!!b:~%%a,1!<nul&set var=  
  7. for /l %%b in (0 1 300) do echo %%b>nul
  8. )
  9. )
  10. pause
复制代码
发表于 2011-8-16 20:49:14 | 显示全部楼层
回复 4# lfoqtal


    win7 下,你的代码空格不显示。
关于我的:

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "skip=37 delims=" %%i in ('findstr /n .* %0') do (
  4. set "Mstr=%%i"
  5. set "Mstr=!Mstr:*:=!"
  6. call :逐字显示
  7. echo.
  8. )
  9. pause>nul

  10. :逐字显示
  11. call :FunDelay 200
  12. if defined Mstr (
  13. set "s=!Mstr:~0,1!"
  14. if defined s (
  15. set /p "=@!s!"<nul
  16. set Mstr=!Mstr:~1!
  17. goto 逐字显示
  18. )
  19. ) else (
  20. set /p "="<nul
  21. )
  22. goto :eof

  23. :FunDelay
  24. set beginTime=%time%
  25. set/a minute1=1%beginTime:~3,2%-100
  26. set/a second1=1%beginTime:~6,2%%beginTime:~-2%0-100000

  27. :LoopContinue
  28. set nowTime=%time%
  29. set/a minute2=1%nowTime:~3,2%-100
  30. set/a second2=1%nowTime:~6,2%%nowTime:~-2%0-100000
  31. set/a difMs=((%minute2%-%minute1%+60)%%60)*60000+%second2%-%second1%
  32. if %difMs% lss %1 goto LoopContinue
  33. goto :eof

  34. THEY CAME FIRST for the Coummunists,
  35.      and I didn't speak up because I wasn' t a Communist.

  36. THEN THEY CAME for the Jews,
  37.      and I didn't speak up because I wasn' t a Jew.

  38. THEN THEY CAME for the trade unionists,
  39.      and I didn't speak up because I wasn' t a trade unionist.

  40. THEN THEY CAME for the Catholics,
  41.      and I didn't speak up because I was a Protestant.

  42. THEN THEY CAME for me,
  43.      and by that time no one was left to speak up.



  44.                                      Pastor Martin Niemoeller
复制代码
精简肯定是谈不上了,
还有那个延时函数,挺庞大的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:47 , Processed in 0.018656 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表