批处理系列(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  组目录优先           -  反转顺序的前缀
原文地址:https://www.cnblogs.com/daxiang/p/8572902.html