标题: 批处理读取文本内容并逐字显示 [打印本页]
作者: rogue_1983 时间: 2010-8-9 22:53 标题: 批处理读取文本内容并逐字显示
练习题:
存在一个test.txt文件,内容为: 希 望 论 坛 越 办 越 好
每隔300毫秒将test.txt的内容从左到右逐字横向显示
第一个for语句不能把 希 望 论 坛 越 办 越 好 直接放在 in ()里
用 for %%i in () do 形式,for不加参数!
[ 本帖最后由 rogue_1983 于 2010-8-12 20:55 编辑 ]
作者: hfg1977 时间: 2010-8-11 03:18
- @echo off&setlocal enabledelayedexpansion&cls
- set "str= 希 望 论 坛 越 办 越 好"
- for %%i in (2,4,6,8,10,12,14,16) do (
- ping/n 1 127.1>nul
- set/p =!str:~0,%%i!<nul
- )
- pause
复制代码
[ 本帖最后由 hfg1977 于 2010-8-11 03:21 编辑 ]
作者: wuzexin 时间: 2010-8-11 10:49
en,学习一下,知道了
[ 本帖最后由 wuzexin 于 2010-8-11 11:53 编辑 ]
作者: solid 时间: 2010-8-11 13:58
- @echo off &setlocal enabledelayedexpansion
- for %%a in ( 希 望 论 坛 越 办 越 好 ) do (
- set "ko= !ko!"
- echo !ko!%%a
- ping 127.1 >nul
- cls
- )
- pause
复制代码
作者: solid 时间: 2010-8-11 14:08
- @echo off &setlocal enabledelayedexpansion
- for %%a in ( 希 望 论 坛 越 办 越 好 ) do (
- set a=%%a
- set b=!b! !a!
- echo !b!
- ping 127.1 -n 2 >nul
- cls
- )
- pause
复制代码
作者: rogue_1983 时间: 2010-8-12 20:54 标题: 我的意思是这样!
- test.txt 内容为:希 望 论 坛 越 办 越 好
复制代码
- @echo off
- setlocal enabledelayedexpansion
- for %%i in (test.txt) do (
- set/p a=<%%i
- for /l %%j in (0 1 14) do (set/p=!!a:~%%j,1!! <nul&ping /n 1 127.1>nul)
- )
- pause
复制代码
不要把:希 望 论 坛 越 办 越 好 直接用在 in (希 望 论 坛 越 办 越 好) 里!
作者: paladinjin 时间: 2010-8-19 16:29
有难度唉 不把那些字放那里又不带参数 不好搞啊
能讲一下么
作者: we6540 时间: 2011-2-2 20:45
@echo off
for %%i in (希 望 论 坛 越 办 越 好) do set /p a=%%i<nul & ping >nul 2>nul
pause
好像有点快
作者: superbat 时间: 2011-3-19 09:24
谁能解释下第二个for语句的功能啊?请求详细点。
作者: dosbat 时间: 2011-4-20 23:24
呵呵 不带参数 的for语句来实现这个功能 有点难度
我用了一个参数
代码如下:- @echo off&color 0a
- setlocal enabledelayedexpansion
- echo 希 望 论 坛 越 办 越 好>%temp%\text.txt :偷懒直接这样生成txt文本
- for /f "delims=" %%i in ('type %temp%\text.txt') do (
- set str=%%i
- for %%i in (!str!) do (
- set /p=%%i<nul ::不换行地输出
- call :delay 300 ::延时300毫秒
- )
- )
- ::后期处理
- if exist %temp%\delay.vbs del %temp%\delay.vbs
- goto exit
-
- :delay
- echo wscript.sleep(%1)>%temp%\delay.vbs ::生成延时的VBS脚本
- goto :eof ::相当于C语言等一些高级语言的return语句
-
- :exit
- echo.
- pause&exit
复制代码
作者: mqy62026 时间: 2011-5-1 20:55
学习 老师们.........
作者: mstsc 时间: 2011-5-3 15:01
学习中 !~
作者: bat若好 时间: 2013-2-27 22:11
- @echo off
- setlocal enabledelayedexpansion
- echo 请把文件和这批处理同一目录下
- set /p a=请输入文件名:
- for /f %%i in (%a%.txt) do (
- set e=%%i
- for /l %%b in (0,1,10000) do (
- if "!e:~%%b,1!" neq "" (
- set /p c=!e:~%%b,1!<nul
- for /l %%d in (0,1,500) do (
- echo %%d>nul
- )
- )
- )
- )
- pause>nul
复制代码
只要在文件里面写入该文字就可以了
作者: qq399254368 时间: 2013-5-28 09:31
回复 2# hfg1977
请问一下哪里可以找到
ping/n 1 127.1>nul
的用法!一直不明白什么意思
作者: 狱渊 时间: 2013-7-29 10:02
回复 15# qq399254368
ping 是一个外部程序 批处理这里用来延时
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |