rem 曾经写的txt阅读器,bat脚本.
rem 其中的if语句确实可以加(),让它执行一个语句块.
@echo off
title txt阅读器(by乙一一)
goto makefilelist
:makefilelist
dir /b /on *.txt>filelist.hox
echo 列表由此开始:>list.hox
echo end>>filelist.hox
set n=0
goto forloop_first
:forloop_first
for /f %%v in (filelist.hox) do (
if %%v==end (
set max=0
goto fileiszero
)
goto forloop_second
)
:fileiszero
echo 无文件!请添加文件!
pause
del *.hox
exit
:forloop_second
set /a n=%n%+1
for /f "skip=%n%" %%v in (filelist.hox) do (
if %%v==end goto setmax
goto forloop_second
)
:setmax
set max=%n%
goto fileselect
:fileselect
for /f %%v in (filelist.hox) do (
set n=0
set num=1
echo 1=%%v>>list.hox
goto list_else
)
:list_else
set /a n=%n%+1
set /a num=%num%+1
if %n%==%max% goto showfile
for /f "skip=%n%" %%v in (filelist.hox) do (
echo %num%=%%v>>list.hox
goto list_else
)
:showfile
echo 列表到此结束。>>list.hox
echo 共有%max%个文件。>l.hox
type list.hox>>l.hox
more l.hox
set /p n=输入标号:
if %n%==1 goto one
set /a n=%n%-1
for /f "skip=%n%" %%v in (filelist.hox) do (
set file=%%v
goto else
)
:one
for /f %%v in (filelist.hox) do (
set file=%%v
goto else
)
:else
set filename=%file:~0,-4%
title %filename%
del *.hox
goto main
:main
echo.
echo.
echo.
echo 使用说明 a:建书签 c:色彩 e:编辑 f:文件 h:帮助 n:重读 q:走人 r:读书签 v:查看制作人
echo 阅读中 q:退出阅读 =:显示行号(记录以做书签) 空格键:下页 回车键:下行
set /p cmd=命令:
if not defined cmd goto main
if %cmd%==a goto addmark
if %cmd%==c (
cls
echo 颜色由两个数字指定,第一个背景,第二个前景.每个数字可为以下任何值之一:0=黑 1=蓝 2=绿 3=湖蓝 4=红 5=紫 6=黄 7= 白 8=灰 9=淡蓝 a=淡绿 b=淡浅绿 c=淡红 d=淡紫 e=淡黄 f=亮白.颜色示例:0f 黑底白字.
set /p cr=颜色代号:
if not defined cr goto main
color %cr%
)
if %cmd%==v (
cls
echo 乙一一制作,翻版必究.v.2009.08.06
pause
)
if %cmd%==h (
cls
echo 1.请将纯文本文件放置于main.bat相同目录下;
echo 2.建议文件名(除去扩展名)包含的字符:中文、英文、阿拉伯数字,不要含有符号如空格等,否则运行失败;
echo 3.bat文件为文本文件,可编辑、优化;
pause
)
if %cmd%==e write main.bat
if %cmd%==r call mark-%filename%.bat
if %cmd%==q exit
if %cmd%==n more /c "%file%"
if %cmd%==f goto makefilelist
goto main
:addmark
set /p n=行号:
if not defined n goto addmark
set /a n=%n%-30
echo more /c +%n% "%file%">mark-%filename%.bat
goto main
///已做到自动读取文件数!///