返回列表 发帖

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

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

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

@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
)
pauseCOPY

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

TOP

en,学习一下,知道了

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

TOP

@echo off &setlocal enabledelayedexpansion
for %%a in ( 希 望 论 坛 越 办 越 好 ) do (
set "ko= !ko!"
echo !ko!%%a
ping 127.1 >nul
cls
)
pauseCOPY

TOP

@echo off &setlocal enabledelayedexpansion
for %%a in ( 希 望 论 坛 越 办 越 好 ) do (
set a=%%a
set b=!b! !a!
echo !b!
ping 127.1 -n 2 >nul
cls
)
pauseCOPY

TOP

我的意思是这样!

test.txt 内容为:希 望 论 坛 越 办 越 好COPY
@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)
    )
    pauseCOPY
不要把:希 望 论 坛 越 办 越 好    直接用在 in (希 望 论 坛 越 办 越 好) 里!

TOP

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

TOP

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

TOP

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

TOP

呵呵 不带参数 的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&exitCOPY
0010101010101二进制的世界,让我着迷。

TOP

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

TOP

学习中 !~     

TOP

@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>nulCOPY
只要在文件里面写入该文字就可以了

TOP

回复 2# hfg1977


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

TOP

回复 15# qq399254368


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

TOP

返回列表