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
这个实现不了顺序提取,开头的空行也没有实现向大家请教!
图片一个是文件列表,一个是预期的结果 展开
@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
这个实现不了顺序提取,开头的空行也没有实现向大家请教!
图片一个是文件列表,一个是预期的结果 展开
1个回答
展开全部
文件升序加上on参就行了哦(order byt name),就用dir /b /on
要生成一个空行,直接echo >> new.txt就行啊。
要生成一个空行,直接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
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询