如何通过bat批量处理,按文件序号提取dat中数据合并到一个txt中,并且合并时根据txt文件名的序号升序复制。每个txt前添加一个#号和空行,最后再添加一个空行。参考了网上的例子,改不太好
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.dat') do (
set a=0
for /f "delims=" %%b in ('type "%%a"') do (
set /a a+=1
if !a!==1 (set m=%%b
echo #!m! >>new.txt))
for /f "usebackq skip=1 delims=" %%b in ("%%a") do echo %%b >>new.txt
echo.>>new.txt
)
pause
这个实现不了顺序提取,开头的空行也没有实现向大家请教!
图片一个是文件列表,一个是预期的结果
能麻烦写一下循环嘛,搞了一下午还是有问题。还有需要文档前加一个#号,感激不尽!
追答回档前加一个#号,是什么意思?把文件名写在输出文件里?
@echo off兄台写的这段是按1 10 11 12 13 14……19 20 21 22……3 4 5 6 7 8这样顺序的。#号指的就是附件图片里所给出的格式,每行前面有个#作为每个文件的分隔符,其实感觉网上的这段代码挺繁琐的,改得挺累,请问这位兄台需不需要这么多行代码呀。附图是个类似的程序。