发布网友 发布时间:2022-04-21 20:21
共2个回答
热心网友 时间:2023-12-03 18:24
第一个:
@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盘根目录下(小小的说一句,我觉得这一个已经可以搞定了,第一个我自己都觉得麻烦,呵呵……)
热心网友 时间:2023-12-03 18:24
有点复杂