bat编程批量处理,按文件序号顺序提取到txt中,bat批处理

如何通过bat批量处理,按文件序号提取dat中数据合并到一个txt中,并且合并时根据txt文件名的序号升序复制。每个txt前添加一个#号和空行,最后再添加一个空行。参考了... 如何通过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
这个实现不了顺序提取,开头的空行也没有实现向大家请教!
图片一个是文件列表,一个是预期的结果
展开
 我来答
jianxia2k
2018-12-21 · TA获得超过399个赞
知道小有建树答主
回答量:365
采纳率:82%
帮助的人:194万
展开全部
文件升序加上on参就行了哦(order byt name),就用dir /b /on
要生成一个空行,直接echo >> new.txt就行啊。
更多追问追答
追问
能麻烦写一下循环嘛,搞了一下午还是有问题。还有需要文档前加一个#号,感激不尽!
追答

回档前加一个#号,是什么意思?把文件名写在输出文件里?

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /on sec*.dat') do (
    echo %%a
    set a=0
    for /f "delims=" %%b in ('type "%%a"') do (
        echo %%b
        set /a a+=1
        if !a!==1 (set m=%%b
        echo # >>new.txt
        echo.>>new.txt
        echo !m! >>new.txt)
    )
    for /f "usebackq skip=1 delims=" %%b in ("%%a") do echo %%b >>new.txt
    echo.>>new.txt
)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式