Board logo

标题: [文本处理] 批处理怎样在文本行首添加章节名称并提取第一行作为文件名? [打印本页]

作者: 爱尚分享    时间: 2019-1-2 22:47     标题: 批处理怎样在文本行首添加章节名称并提取第一行作为文件名?

请高手赐教一下——这样的效果实现:
文件夹里有很多txt文件,想整理一下再转换成epub书籍,我想把文件里的txt文件的第一行行首(不是另取一行,是接在第一行的行前)进行批处理加上第一章、第二章、第三章.......
再用另一个批处理,提取txt第一行为文件名。这种效果如何能实现,谢谢!
作者: Batcher    时间: 2019-1-3 08:52

把文件里的txt文件的第一行行首(不是另取一行,是接在第一行的行前)进行批处理加上第一章、第二章、第三章

请举例说明一下代码根据什么逻辑来判断第一行行首到底是添加“第一章”还是“第二章”?
作者: yhcfsr    时间: 2019-1-3 11:21

回复 2# Batcher


    真是操碎了心.
作者: ivor    时间: 2019-1-3 21:02

这个需求不发红包,不好解决  :)
作者: Batcher    时间: 2019-1-4 09:28

回复 1# 爱尚分享


第二个需求可以参考这几个例子:批处理提取文本第一行内容作为文件名
http://bbs.bathome.net/thread-287-1-1.html
http://bbs.bathome.net/thread-10924-1-1.html
http://bbs.bathome.net/thread-14971-1-1.html
http://bbs.bathome.net/thread-44670-1-1.html
作者: Batcher    时间: 2019-1-4 11:54

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1
  4. for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
  5.     echo 正在处理文件 "%%a"
  6.     set /p FirstLine=<"%%a"
  7.     >"%%a.new" echo 第!n!章 !FirstLine!
  8.     >>"%%a.new" more +1 "%%a"
  9.     move /y "%%a.new" "%%a"
  10.     set /a n+=1
  11. )
复制代码
测试之前请做好备份
作者: 爱尚分享    时间: 2019-1-4 12:02

回复 6# Batcher


    谢谢高手热情帮助。




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