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

批处理读取文本内容并逐字显示

练习题:
存在一个test.txt文件,内容为: 希 望 论 坛 越 办 越 好
每隔300毫秒将test.txt的内容从左到右逐字横向显示
第一个for语句不能把 希 望 论 坛 越 办 越 好 直接放在 in ()里
用 for %%i  in () do 形式,for不加参数!

[ 本帖最后由 rogue_1983 于 2010-8-12 20:55 编辑 ]

回复 15# qq399254368


    ping 是一个外部程序 批处理这里用来延时

TOP

回复 2# hfg1977


    请问一下哪里可以找到
ping/n 1 127.1>nul
的用法!一直不明白什么意思

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo 请把文件和这批处理同一目录下
  4. set /p a=请输入文件名:
  5. for /f %%i in (%a%.txt) do (
  6.     set e=%%i
  7.     for /l %%b in (0,1,10000) do (
  8.         if "!e:~%%b,1!" neq "" (
  9.            set /p c=!e:~%%b,1!<nul
  10.            for /l %%d in (0,1,500) do (
  11.                echo %%d>nul
  12.             )
  13.          )
  14.      )
  15. )
  16. pause>nul
复制代码
只要在文件里面写入该文字就可以了

TOP

学习中 !~     

TOP

学习  老师们.........

TOP

呵呵 不带参数 的for语句来实现这个功能 有点难度
我用了一个参数
代码如下:
  1. @echo off&color 0a
  2. setlocal enabledelayedexpansion
  3. echo 希 望 论 坛 越 办 越 好>%temp%\text.txt     :偷懒直接这样生成txt文本
  4. for /f "delims=" %%i in ('type %temp%\text.txt') do (
  5. set str=%%i
  6. for %%i in (!str!) do (
  7. set /p=%%i<nul    ::不换行地输出
  8. call :delay 300     ::延时300毫秒
  9. )
  10. )
  11. ::后期处理
  12. if exist %temp%\delay.vbs del %temp%\delay.vbs
  13. goto exit
  14. :delay
  15. echo wscript.sleep(%1)>%temp%\delay.vbs  ::生成延时的VBS脚本
  16. goto :eof               ::相当于C语言等一些高级语言的return语句
  17. :exit
  18. echo.
  19. pause&exit
复制代码
0010101010101二进制的世界,让我着迷。

TOP

谁能解释下第二个for语句的功能啊?请求详细点。
只有说出来被人嘲笑的才是理想。

TOP

@echo off
for %%i in (希 望 论 坛 越 办 越 好) do set /p a=%%i<nul & ping  >nul 2>nul
pause
好像有点快

TOP

有难度唉  不把那些字放那里又不带参数 不好搞啊
能讲一下么

TOP

我的意思是这样!

  1. test.txt 内容为:希 望 论 坛 越 办 越 好
复制代码
  1. @echo off
  2.     setlocal enabledelayedexpansion
  3.     for %%i in (test.txt) do (
  4.     set/p a=<%%i
  5.     for /l %%j in (0 1 14) do (set/p=!!a:~%%j,1!! <nul&ping /n 1 127.1>nul)
  6.     )
  7.     pause
复制代码
不要把:希 望 论 坛 越 办 越 好    直接用在 in (希 望 论 坛 越 办 越 好) 里!

TOP

  1. @echo off &setlocal enabledelayedexpansion
  2. for %%a in ( 希 望 论 坛 越 办 越 好 ) do (
  3. set a=%%a
  4. set b=!b! !a!
  5. echo !b!
  6. ping 127.1 -n 2 >nul
  7. cls
  8. )
  9. pause
复制代码

TOP

  1. @echo off &setlocal enabledelayedexpansion
  2. for %%a in ( 希 望 论 坛 越 办 越 好 ) do (
  3. set "ko= !ko!"
  4. echo !ko!%%a
  5. ping 127.1 >nul
  6. cls
  7. )
  8. pause
复制代码

TOP

en,学习一下,知道了

[ 本帖最后由 wuzexin 于 2010-8-11 11:53 编辑 ]

TOP

  1. @echo off&setlocal enabledelayedexpansion&cls
  2. set "str= 希 望 论 坛 越 办 越 好"
  3. for %%i in (2,4,6,8,10,12,14,16) do (
  4. ping/n 1 127.1>nul
  5. set/p =!str:~0,%%i!<nul
  6. )
  7. pause
复制代码

[ 本帖最后由 hfg1977 于 2010-8-11 03:21 编辑 ]

TOP

返回列表