批处理:合并多个文本的内容,具体要求如下:
合并多个文本的内容,相邻的文本内容中间空3行出来。执行方式:直接将多个文本拖到批处理上即可自动执行输出:命名为:n个文本合并.txt(n为拖入文本的数量)如果以上可以做的...
合并多个文本的内容,相邻的文本内容中间空3行出来。
执行方式:直接将多个文本拖到批处理上即可自动执行
输出:命名为:n个文本合并.txt(n为拖入文本的数量)
如果以上可以做的话,也请高手试着写下面的这个:
要求和上面只有一个地方不一样:
就是合并文本时,把文本的名字也提出来,放在那空出的3行的中间位置。
(提取的名字不要把后缀也提出来了哦!)
输出:命名为:n个文本的合并.含文件名.txt(n为拖入文本的数量)
以上相当于是2个处理,高手们看清楚些哦!! 展开
执行方式:直接将多个文本拖到批处理上即可自动执行
输出:命名为:n个文本合并.txt(n为拖入文本的数量)
如果以上可以做的话,也请高手试着写下面的这个:
要求和上面只有一个地方不一样:
就是合并文本时,把文本的名字也提出来,放在那空出的3行的中间位置。
(提取的名字不要把后缀也提出来了哦!)
输出:命名为:n个文本的合并.含文件名.txt(n为拖入文本的数量)
以上相当于是2个处理,高手们看清楚些哦!! 展开
展开全部
第一个:
@echo off
set str=0
:nok
cls
set/a str+=1
set/p num=拖进去:
(for %%a in (%num%) do (
more /e "%%a"&echo.&echo.&echo.
))>>拖动合并后的.txt
echo.第%str%个完成!
goto nok
pause
不支持多个文件一起拖动,只能一次一个,其实有更好的办法,但是你的要求是这样,也给你写出来了。下面是我建议的方式:(将你需要的文本和批处理文件放到一起,运行一下就可以了,不用拖来拖去的,麻烦。)
@echo off
(for %%a in (*.txt) do (
more /e "%%a"&echo.&echo.&echo.
))>N个文本.txt
echo.完成!
pause
每个文本内容间隔三行。
————————————————————————————————————————
第二个:
@echo off
(for %%a in (*.txt) do (
echo.%%~na&echo.
more /e "%%a"&echo.&echo.&echo.
))>n个文本的合并.含文件名.txt
echo.完成!
pause
将你需要的文本和批处理文件放到一起,运行一下就可以了 ,每个文本间隔三行,且空行处列出文件名
@echo off
set str=0
:nok
cls
set/a str+=1
set/p num=拖进去:
(for %%a in (%num%) do (
more /e "%%a"&echo.&echo.&echo.
))>>拖动合并后的.txt
echo.第%str%个完成!
goto nok
pause
不支持多个文件一起拖动,只能一次一个,其实有更好的办法,但是你的要求是这样,也给你写出来了。下面是我建议的方式:(将你需要的文本和批处理文件放到一起,运行一下就可以了,不用拖来拖去的,麻烦。)
@echo off
(for %%a in (*.txt) do (
more /e "%%a"&echo.&echo.&echo.
))>N个文本.txt
echo.完成!
pause
每个文本内容间隔三行。
————————————————————————————————————————
第二个:
@echo off
(for %%a in (*.txt) do (
echo.%%~na&echo.
more /e "%%a"&echo.&echo.&echo.
))>n个文本的合并.含文件名.txt
echo.完成!
pause
将你需要的文本和批处理文件放到一起,运行一下就可以了 ,每个文本间隔三行,且空行处列出文件名
追问
首先感谢你回答了这么多,不过我测试了一下,有如下问题:
第一种方法:我这边测试好像不行,产生的文件全是空白
第二种方法:合是合成了,但是怎么合的是双倍呀?
我用两个100行的文本合并,结果却有400行,
看内容才知道里面的内容全部又复制了一遍
最后一个问题:命名时,n为拖入文本的数量,并不是单纯的n
追答
第一个问题:产生的文件为空白
答:这个批处理是要运行的,和你后面提问题的那个答案不一样。(你需要的话,我等下给你修改)
第二个问题:合成的文本有双倍
第三个问题:N为数量
答:双倍是因为生成的文本文档也在当前目录下,所以一起统计进去了。N为文本数量我已经修改好,代码在下边。
@echo off
if exist "temp.ini" del "temp.ini"
for %%b in (*.txt) do echo %%b >>temp.ini
for /f "usebackq" %%j in (temp.ini) do set/a n=n+1
echo.当前文件夹一共%n%个文本文档
(for %%a in (*.txt) do (
echo.%%~na&echo.
more /e "%%a"&echo.&echo.&echo.
))>c:\%n%个文本的合并.含文件名.txt
del "temp.ini" /f/s/q>nul 2>nul&&echo._________完成!
pause
生成文件在C盘根目录下(小小的说一句,我觉得这一个已经可以搞定了,第一个我自己都觉得麻烦,呵呵……)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询