求教BAT批处理合并TXT文本文件每段插入空行文件名空行
有数百个小笑话TXT格式已有标题作文件名,但文件内容没有标题,想合并这些小文件,但希望每个文件的内容为一个段落,段落前插入这个小文件的文件名作为标题并加一空行,段落后也加...
有数百个小笑话TXT格式已有标题作文件名,但文件内容没有标题,想合并这些小文件,但希望每个文件的内容为一个段落,段落前插入这个小文件的文件名作为标题并加一空行,段落后也加一空行:
(文件1的文件名不含扩展名)
(文件1.txt的内容
文件1.txt的内容
文件1.txt的内容)
(文件2的文件名不含扩展名)
(文件2.txt的内容
文件2.txt的内容
文件2.txt的内容)
睿之锐 运行时提示文件无法访问,输出文件只有一堆文件名没有内容
MyPrettyLife 成功!代码精炼!牛啊!
谢谢! 展开
(文件1的文件名不含扩展名)
(文件1.txt的内容
文件1.txt的内容
文件1.txt的内容)
(文件2的文件名不含扩展名)
(文件2.txt的内容
文件2.txt的内容
文件2.txt的内容)
睿之锐 运行时提示文件无法访问,输出文件只有一堆文件名没有内容
MyPrettyLife 成功!代码精炼!牛啊!
谢谢! 展开
4个回答
展开全部
@echo off&setlocal Enabledelayedexpansion
set /p file=请把你包含TXT文件的文件夹拖到本窗口:&set "file=!file:"=!"
for /f "delims=" %%i in ('dir /a /b "%file%\*.txt"') do (
echo %%~ni>>"%file%\TMP2356688.txt"
echo.>>"%file%\TMP2356688.txt"
more "%%i">>"%file%\TMP2356688.txt"
echo.>>"%file%\TMP2356688.txt"
)
start "" "%file%\TMP2356688.txt"&exit
set /p file=请把你包含TXT文件的文件夹拖到本窗口:&set "file=!file:"=!"
for /f "delims=" %%i in ('dir /a /b "%file%\*.txt"') do (
echo %%~ni>>"%file%\TMP2356688.txt"
echo.>>"%file%\TMP2356688.txt"
more "%%i">>"%file%\TMP2356688.txt"
echo.>>"%file%\TMP2356688.txt"
)
start "" "%file%\TMP2356688.txt"&exit
展开全部
用软件Replace Pioneer可以很容易满足你的要求,而且可以按需排序,只需按以下步骤操作:
1. 安装Replace Pioneer,按ctrl-h打开"Replace" 窗口
2. 点击Advanced页,在Insert Begin Text栏填入${BASE}\n,在Insert End Text栏填入\n,表示在首行加文件名(无后缀),尾行加\n表示换行
3. 把屏幕右下角Output File左边的">"符号改选为">> Append"表示追加模式
4. 点击Batch Replace打开Batch Runner菜单,表示对多文件处理
5. 点击Pick Files,用鼠标选择多个待处理文件
6. 如果需要,点击各列的抬头,对文件按需排序。
7. 选中Set output filename,把后面的${FILENAME}改为固定的结果文件名比如output.txt
8. 点击Batch Replace,所有文件就都追加到output.txt中了
1. 安装Replace Pioneer,按ctrl-h打开"Replace" 窗口
2. 点击Advanced页,在Insert Begin Text栏填入${BASE}\n,在Insert End Text栏填入\n,表示在首行加文件名(无后缀),尾行加\n表示换行
3. 把屏幕右下角Output File左边的">"符号改选为">> Append"表示追加模式
4. 点击Batch Replace打开Batch Runner菜单,表示对多文件处理
5. 点击Pick Files,用鼠标选择多个待处理文件
6. 如果需要,点击各列的抬头,对文件按需排序。
7. 选中Set output filename,把后面的${FILENAME}改为固定的结果文件名比如output.txt
8. 点击Batch Replace,所有文件就都追加到output.txt中了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
来段VBS,本机测试成功:
Dim strFolder, objFSO, objFolder,colFiles
Dim objFileName, strFiles, objFiles
Dim objAllFile
Const ForReading = 1
strFolder = "E:\STRORY"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
objFileName = Split(objFile.Name,".")(0)
Set strFile = objFSO.OpenTextFile(objFile, ForReading)
colLines = strFile.ReadAll
strFile.Close
objFiles = objFiles & objFileName _
& vbCrLf & vbCrLf & colLines & vbCrLf & vbCrLf
Next
Set objAllFile = objFSO.CreateTextFile(strFolder & "\" & "ALL.TXT")
objAllFile.Write objFiles
objAllFile.Close
Set objFSO = Nothing
Wscript.Quit
脚本假设文件在一个文件夹中{没有子文件夹}。将代码保存。
文件夹为e:\story,输出为e:\story\all.txt。请按实际更改。
Dim strFolder, objFSO, objFolder,colFiles
Dim objFileName, strFiles, objFiles
Dim objAllFile
Const ForReading = 1
strFolder = "E:\STRORY"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
objFileName = Split(objFile.Name,".")(0)
Set strFile = objFSO.OpenTextFile(objFile, ForReading)
colLines = strFile.ReadAll
strFile.Close
objFiles = objFiles & objFileName _
& vbCrLf & vbCrLf & colLines & vbCrLf & vbCrLf
Next
Set objAllFile = objFSO.CreateTextFile(strFolder & "\" & "ALL.TXT")
objAllFile.Write objFiles
objAllFile.Close
Set objFSO = Nothing
Wscript.Quit
脚本假设文件在一个文件夹中{没有子文件夹}。将代码保存。
文件夹为e:\story,输出为e:\story\all.txt。请按实际更改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
(for %%a in (*.txt) do (
echo %%~na&echo.
more /e "%%a"&echo.
))>c:\total.txt
(for %%a in (*.txt) do (
echo %%~na&echo.
more /e "%%a"&echo.
))>c:\total.txt
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询