大家好!哪位朋友能帮我一下?给我写个批处理或者修改这两个批处理.我这里有上百个文本文件,其文件名是按序号排列的,我想把文件名的序号添加到文本中的标题前,和标题在同一行.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 的提供,管理员叫我重新更新,不知是不是这样编辑,有不当之处望能指出,谢谢! |