标题: [特效代码] 批处理如何实现读取txt文本内容并逐字显示出来 [打印本页]
作者: lzwudi 时间: 2008-10-15 14:42 标题: 批处理如何实现读取txt文本内容并逐字显示出来
本帖最后由 pcl_test 于 2016-9-4 23:25 编辑
目的:方便看小说
要求:运行此批处理后,提示把小说拖拽到当前窗口(假如拖拽1.txt后)逐字显示1.txt内容(遇到标点符号、换行等除了汉字数字和字母的特殊符号,利用空格替换),中途按键可以暂停且原文件内容不改变
假如1.txt内容如下:- 作者:lzwudi
- 轻轻的摘下全息头盔,我活动了一下脖子,伸了个懒腰,骨节间发出细微的脆响,今天的工作终于完成了。
- 现在是地球历公元2237年6月24日中午,我的名字叫lzwudi.负责检测游戏公共区的情况,虽然公共区是游戏中最大的区域,NPC数量最多,但是基本上没什么事。
复制代码
运行此批处理后,将在窗口逐字显示为下面内容:- 作者 lzwudi 轻轻的摘下全息头盔 我活动了一下脖子 伸了个懒腰 骨节间发出细微的脆响 今天的工作终于完成了 现在是地球历公元2237年6月24日中午 我的名字叫lzwudi 负责检测游戏公共区的情况 虽然公共区是游戏中最大的区域 NPC数量最多 但是基本上没什么事
复制代码
作者: pusofalse 时间: 2008-10-15 14:49
看这个帖子。先试着自己写下代码,遇到问题自己独立思考解决。解决不了的发到论坛上,一起解决。
http://bbs.bathome.net/viewthread ... hlight=%CD%A2%CA%B1
[ 本帖最后由 pusofalse 于 2008-10-15 14:50 编辑 ]
作者: pusofalse 时间: 2008-10-15 16:44
- @echo off&setlocal enabledelayedexpansion&title test
- del %temp%\tmp.x;%temp%\false>nul 2>nul
- if "%~1" neq "" goto loop
- start /b %~fs0 test
- for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- for %%a in (, : 。 .) do set "str=!str:%%a= !"
- call :lp
- )
- cd.>%temp%\false&exit
- :lp
- if not exist %temp%\tmp.x (
- <nul set /p=%str:~,1%
- set "str=%str:~1%"
- if defined str ping -n>nul&goto lp
- ) else (
- goto lp
- )
- set/p= <nul&goto :eof
- :loop
- pause>nul
- cd.>%temp%\tmp.x
- pause>nul
- del %temp%\tmp.x
- if not exist %temp%\false (goto loop)
- del %temp%\false,tmp.x>nul 2>nul
- exit
复制代码
[ 本帖最后由 pusofalse 于 2008-10-15 17:16 编辑 ]
作者: batman 时间: 2008-10-15 18:46
请楼主多注意搜索,这类的贴子实在不少啊,光我就写了三四篇了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |