批处理系列(16) - 合并文本——加指定分割线
和将要合并的文本处于同一目录,然后执行。
设定>>all.temp echo ========================================================================
以及前后换行 >>all.temp echo,
,这里的,
是空格,基础篇里有说。
@echo off
setlocal enabledelayedexpansion
title 合并文本(加指定分割线) by:小可(xianghongai@gmail.com)
:GTBegin
@echo 默认合并目录下所有文本文件到 all.txt,确定继续?(y/n)
set /p GTConfirm=
set varTimeTemp1=%time: =0%
set varTimeTemp2=%varTimeTemp1::=%
set varTime=%varTimeTemp2:~0,6%
set varDate=%date:~0,4%%date:~5,2%%date:~8,2%%varTime%
if "%GTConfirm%"=="y" goto GTYES
if "%GTConfirm%"=="Y" goto GTYES
if "%GTConfirm%"=="n" goto GTNO
if "%GTConfirm%"=="N" goto GTNO
echo 请输入正确的指令
pause >nul
goto GTBegin
:GTYES
rem 自然合并所有,/b/od 开关可按指定规则按文件名排序进行合并 for /f %%i in ('dir /b *.txt') do ()
>all.temp type nul
for %%i in (*.txt) do (
echo 正在处理文件:%%i
>>all.temp type "%%i"
>>all.temp echo,
>>all.temp echo,
>>all.temp echo ========================================================================
>>all.temp echo,
>>all.temp echo,
)
move /y all.temp all-%varDate%.txt
echo. :) 搞定
pause >nul
exit
:GTNO
exit
rem /O 用分类顺序列出文件。
rem N 按名称(字母顺序) S 按大小(从小到大)
rem E 按扩展名(字母顺序) D 按日期/时间(从先到后)
rem G 组目录优先 - 反转顺序的前缀
如您发现有误,请联系xianghongai@gmail.com指正。