标题: [文本处理] 批处理怎样给多个文本中标题前添加序号? [打印本页]
作者: 凯继堂主 时间: 2011-4-9 08:49 标题: 批处理怎样给多个文本中标题前添加序号?
大家好!哪位朋友能帮我一下?给我写个批处理或者修改这两个批处理.我这里有上百个文本文件,其文件名是按序号排列的,我想把文件名的序号添加到文本中的标题前,和标题在同一行.zm900612 这位朋友帮我写了一个批处理,但是处理完一个文件后就退出了,我想批量完成当前文件夹中所有的文本文件;我还搜集了一个批处理,可将文件名序号添加到文本中,可是序号和标题不在一行,序号在第一行,原来的标题在第二行.我想把序号和标题放在同一行的目的是便于提取文件标题使用,我这里有个批处理,可批量提取文本中第一行作为文件名,如果文件名只有标题没有序号查看起来杂乱无章.我把这两个批处理代码帖上来,请帮我修改一下或者提供一个批量合并文本中第一二行的批处理.期待回帖,非常感谢!
zm900612 这位朋友帮我写的批处理代码:- @echo off
-
- for /f "tokens=1*" %%a in ('dir /a-d /b *.txt') do (
-
- (set /p=%%a<nul
-
- type "%%a %%b"
-
- )>"%%b.txt"
-
- )
-
- del /f /q "* *.txt"
复制代码
处理完一个文件后就退出了,不能完成当前文件夹中所有的文本文件,处理后的新文件没有名称,只有扩展名,可能是避免重复而自动中指程序的吧;
可添加序号但和标题不在一行的批处理代码:- @echo off
- set/a n=1000
- for %%a in (*.txt) do (
- for /f "delims=" %%b in ('findstr/n ".*" "%%~a"') do (
- set "str=%%b"&setlocal enabledelayedexpansion
- set "str=!str:*:=!"
- if not defined flag (>%%a echo %%~na&>>%%a echo/!str!) else (>>%%a echo/!str!)
- endlocal&set flag=a
- )
- set "flag="&call :_ren "%%a"
- )
- pause&exit
- ::重命名
- :_ren
- set/a n+=1
- if not exist %n:~1%.txt (ren %1 "%n:~1%.txt") else goto _ren
复制代码
,能否修改一下,让添加序号时和原来文本中的标题在同一行.
期待朋友们的赐教,同时感谢zm900612 的提供,管理员叫我重新更新,不知是不是这样编辑,有不当之处望能指出,谢谢!
作者: CrLf 时间: 2011-4-9 09:34
本帖最后由 zm900612 于 2011-4-9 09:35 编辑
- @echo off
- for /f "tokens=1*" %%a in ('dir /a-d /b *.txt') do (
- (set /p=%%a<nul
- type "%%a %%b"
- )>"%%b.txt"
- )
- del /f /q "* *.txt"
复制代码
顺便说下,楼主标题违规,代码没加code,更要命的是表述不清,我也不知道有没把你的意思理解对
作者: hfg1977 时间: 2011-4-9 15:40
lz估计是想把下载的单个长txt书,按章节分割.
我以前写过类似的P. 长txt书,按章节分割后再制作成CHM类型的电子书.
::说明:使用流程:①首先用"TXT杀手最终版本.exe"把原始文件分割,章节名0(*);
::②再根据原始文件生成目录文件menulist.txt; [可忽略]
::③再根据menulist.txt修改分割后的文件第一行; [可忽略]
::④再根据分割后的文件第一行生成htm索引文件和CHM索引文件;
::⑤最后根据CHM索引文件 生成CHM文件;
::第②③步骤的作用:章节名称 格式标准化 [可忽略]
code ......
合并文本中第一二行:- sed "1,2N;s/\n/\t/" file 只合并第一行和第二行
复制代码
作者: 凯继堂主 时间: 2011-4-10 01:20
感谢您的回帖,我刚注册,不懂规矩,见笑了.您写的批处理正是我需要的,我的意思是在原有标题前添加序号,序号和标题在同一行,您能否再修改一下批处理,由于修改后的新文本文件没有名称 只有扩展名,只处理一个文件后就退出了,希望能够批量完成当前文件夹中的所有文本文件.我不是想制作电子书,是想便于在手机上阅读,不必打开文本就能看到标题,而且能保持原有的顺序.我之前搜集了个批处理,可将文本第一行提取作为文件名,但是没有序号,原有的顺序打乱了,阅读起来很不方便.再次感谢您,并期待帮助!
作者: 凯继堂主 时间: 2011-4-10 01:26
3# hfg1977
感谢您的回复,我又学到了新的东西!
作者: Batcher 时间: 2011-4-10 12:28
4# 凯继堂主
请把所有的问题背景描述全部更新到顶楼
作者: CrLf 时间: 2011-4-11 20:11
为什么我机子上运行3楼代码失败呢?是系统问题还是传说中的人品...
作者: Batcher 时间: 2011-4-11 20:13
7# zm900612
具体怎么失败?
作者: 凯继堂主 时间: 2011-4-13 10:39
8# Batcher
自己顶一下,期待帮助,非常感谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |