Originally posted by chainliq at 2006-11-19 19:07:
呵呵,我倒是觉得这个挺有意思的,请问如何修个它的显示速度呢?
修改它的显示速度可以更改代码中的 ping 语句,可以增加参数-n的值,也可以增加超时参数-w的值,个人而定。
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
精华I
查看 14,325 回复 31
Originally posted by chainliq at 2006-11-19 19:07:
呵呵,我倒是觉得这个挺有意思的,请问如何修个它的显示速度呢?
@echo off
:: 把半角双引号换成空格,把等号换成〓,兼容其他特殊字符
:: 能处理以分号打头的行,但是会忽略空行
:: 能兼容unicode格式的文本
:: 每行之间空一行显示
for /f "delims= eol=" %%i in ('type %1') do (
set "str=%%i"
call set "str=%%str:"= %%"
call :pickup
)
pause
goto :eof
:pickup
ping -n 1 127.1>nul
if "%str:~0,1%"=="=" set "str=〓%str:~1%"
set /p "=%str:~0,1%"<nul
set "str=%str:~1%"
if defined str goto pickup
echo.&echo.
goto :eof
@echo off
:: 与版本一的几点区别:
:: 1、不能处理unicode文本
:: 2、每行之间不再强行加上空行,并且能原样显示空行
for /f "delims= eol=" %%i in ('findstr /n .* %1') do (
set "str=%%i"
call set "str=%%str:"= %%"
call set "str=%%str:*:=%%"
call :pickup
)
echo.
pause
goto :eof
:pickup
if not defined str echo.&goto :eof
if "%str:~0,1%"=="=" set "str=〓%str:~1%"
set /p "=%str:~0,1%"<nul
ping -n 1 127.1>nul
set "str=%str:~1%"
if defined str goto pickup
echo.
goto :eof
@echo off
:: 逐行逐字阅读文本,并且原样显示文本内容
:: ① 为了显示文本的所有内容,使用了for+findstr的句式
:: ② 为了能原样显示文本,使用变量延迟并在合适的位置终止延迟
:: ③ 为了能正确显示引号和等号,在语句 set /p= !str:~0,1!<nul 中,等号后空一格,并使用退格键
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set "str=%%i"
setlocal enabledelayedexpansion
set str=!str:*:=!
call :pickup
endlocal
)
pause
goto :eof
:pickup
ping -n 1 127.1>nul
if defined str (
set /p= !str:~0,1!<nul
set str=!str:~1!
goto pickup
)
echo.
goto :eof