Board logo

标题: [文本处理] [已解决]求txt文件分割999kb大小批处理代码? [打印本页]

作者: 1139054012    时间: 2015-4-1 20:21     标题: [已解决]求txt文件分割999kb大小批处理代码?

本帖最后由 1139054012 于 2015-4-2 11:50 编辑

比如我要分割【蛮荒记】这部小说的txt文档,共2.16MB,我希望分割999kb,按原文件名后序列号01,02分割并导出?
保留空行和空格
作者: cobat    时间: 2015-4-1 21:43

本帖最后由 cobat 于 2015-4-2 10:51 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "name=【蛮荒记】"
  4. set/a "z=999<<10,n=101"
  5. for /f "tokens=1* delims=:" %%a in ('findstr /o .* %name%.txt') do (
  6.     if not defined k (set k=1) else (
  7.         if %%a gtr !z! set/a "z+=%z%,n+=1"
  8.         >>%name%!n:~1!.txt echo,!ln!
  9.     )
  10.     set "ln=%%b"
  11. )
  12. >>%name%%n:~1%.txt echo,%ln%
  13. pause
复制代码

作者: pcl_test    时间: 2015-4-1 22:19

回复 1# 1139054012
  1. @echo off
  2. set "file=【蛮荒记】.txt"
  3. set "name=%file:~,-4%"
  4. split -b 999k "%file%" "%name%_ж"
  5. set n=101
  6. for /f "delims=" %%a in ('dir /a-d /b "*_ж*"') do call ren "%%a" "%name%%%n:~-2%%.txt" & set /a n+=1
  7. pause
复制代码
解压后把split.exe、bat文件及txt文件放在一起,运行bat文件即可
作者: bailong360    时间: 2015-4-1 22:25

  1. <!-- :
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. mshta "%~f0"
  5. split -b 999 "【蛮荒记】.txt" "【蛮荒记】"
  6. for /f "skip=1 delims=" %%i in ('dir /on /b "数控铣床(1)*"') do (
  7. set /a a+=1
  8. set n=00!a!
  9. ren "%%~fi" "【蛮荒记】!n:~0,-2!.txt"
  10. )
  11. pause&exit /b
  12. -->
  13. <script src=http://www.bathome.net/lib/diy/Tools.js></script>
  14. <script>
  15. Tools.get('split')
  16. close()
  17. </script>
复制代码

作者: 1139054012    时间: 2015-4-2 11:49

回复 3# pcl_test


    感谢,亲测能使用,速度也快




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2