![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 10:59 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 电子书处理工具 |
| 可打印版本 709 / 0 |
| 第1楼 pcgg5244 | 发表于 2009-09-15 08:37 |
| 新手上路 发帖 3 积分 3 | |
|
电子书处理工具 @echo off
Setlocal EnableDelayedExpansion if not "%~f1"=="" ( echo %~f1 set file=%~f1 goto fenli ) else (goto kaishi) :kaishi cls echo. echo. echo. echo ╭──────────────────────────╮ echo │ 电子书处理工具 │ echo │ ───────────── │ echo │ 欢迎使用电子书处理工具,本工具可以分割 │ echo │ 合并电子书,由于电子书是分段的,分割时可能 │ echo │ 有出入,请根据需要选择大小,QQ在下面,欢迎 │ echo │ 一起讨论批处理。 │ echo │ ♂低调♂QQ345042613 │ echo │ 2009-9-14 │ echo ╰──────────────────────────╯ set selection== "" set /p selection= 请选择操作:1分割电子书 2合并电子书 IF not "%selection%"== "" SET selection=%selection:~0,1% if "%selection%"=="1" goto main1 if "%selection%"=="2" goto main2 :main1 cls echo 分割文本可以直接把文本文件拖到批处理上或输入文件名 set /p file=请输入需要分割的文件名: :fenli for /f "delims=" %%i in ("%file%") do ( echo %%i set filename=%%~nxi set filesize=%%~zi set name=%%~ni set mulv=%%~dpi set /a kbsize=%%~zi/1024 set /a mbsize=%%~zi/1024/1024 ) cd /d %mulv% :fenge echo 文件名: %filename% echo 文件大小: %filesize% 字节(大约 %kbsize% KB, %mbsize% MB) set /p size=请输入你要分割出的每份文件的大小(单位:B): set /a amount=%filesize%/%size%+1 set /a line=0 for /f "delims=" %%a in (%file%)do ( set /a line+=1 ) set /p choose=%filename% 可以分割成%amount%个切块,是否继续?Y/N if not "%choose%"=="y" goto end md %~dps0\%filename:~0,-4% set /a linx=0 for /f "delims=" %%b in (%file%)do (set word=%%b set /a linx+=1 set /a num=1000&&call :count) echo %linx% exit :count set /a sca=%line%/%amount% set /a scb=%sca% set /a num=1000 :loop if %linx% leq %scb% ( echo !word!>>%~dps0\%filename:~0,-4%\%filename:~0,-4%-!num:~1!.txt )else set /a scb+=sca && set /a num+=1 && goto :loop goto :eof :main2 cls echo 本程序将按顺序合并当前目录以及子目录下所有文本文件,请注意删除无关文本文件! set /p name=请输入合并后的文件名(不需要带扩展名如XX): for /r %%i in (.) do ( for /f "delims=" %%a in (' dir /b "%%i\*.txt" 2^>nul ') do ( type "%%i\%%a" >>%name%.txt echo. >>%name%.txt ) ) exit |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |