批处理系列(12) -合并文本(交叉合并/除重复除空行/行首行尾加特定字符)

Posted 大象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理系列(12) -合并文本(交叉合并/除重复除空行/行首行尾加特定字符)相关的知识,希望对你有一定的参考价值。

结合本系列文章第一篇,看本文。

交叉合并两个文本文件的内容。

@Echo Off
title 交叉合并文本内容  by:小可(xianghongai@gmail.com)

:GTBegin
@echo 默认合并目录下 a.txt 和 b.txt 两个文本文件到 c.txt,确定继续?(y/n)
set /p GTConfirm=
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
pushd %cd%
for /f "delims=" %%a in (\'dir /a-d /b *.txt\') do (
findstr /r /c:"[^ ]" "%%a">#
move # "%%a"
)
popd
For /F "tokens=1* delims=:" %%i In (\'Findstr /n .* b.txt\') Do Set "_%%i=%%j"
(For /F "delims=" %%i In (\'Findstr /n .* a.txt\') Do (
  Set "Str=%%i"& Set /A Count+=1
  SetLocal EnableDelayedExpansion
  For %%j In (!Count!) Do (
    Echo,!Str:*:=!
    Echo,!_%%j!
    )
  EndLocal
))>c.txt
Start c.txt
echo. :) 搞定
pause >nul
exit

:GTNO
exit


合并所有文本内容,并去除重复内容行和空行

@echo off
title 合并文本删除重复行  by:小可(xianghongai@gmail.com)

:GTBegin
@echo 默认合并目录下所有文本文件到 all.txt,确定继续?(y/n)
set /p GTConfirm=
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
for /f "delims=" %%a in (\'dir /a-d /b /on *.txt\') do (
  for /f "delims=" %%b in (\'type "%%a"\') do (
    if not defined %%b set %%b=Def & >>$ echo,%%b
  )
)
move $ "all.txt"
echo. :) 搞定
pause >nul
exit

:GTNO
exit


行首行尾加特定字符,预置好字符,拖入要处理的文本到该批处理文件图标上。
这里加<p></p>

@echo off
@REM @Author: xianghongai@gmail.com
@REM @Date:   2016-04-06 11:22:44
title 文本行首尾加字符  by:小可(xianghongai@gmail.com)
:GTCONTINUE
cls
for /f "delims=" %%a in (\'type "%~1"\') do echo ^<p^>%%~a^</p^>>>"%~dp1%~n1-temp%~x1"
goto GTCONTINUE

将大批量图片放置在服务器,要组成图片html代码标签。
拖入要处理的文本到该批处理文件图标上

@echo off
@REM @Author: xianghongai@gmail.com
title 文本内容行首尾加字符  by:小可(xianghongai@gmail.com)
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=" %%a in (\'type "%~1"\') do set FilePath="%~dp1%~n1-done%~x1"
if exist "%FilePath%" DEL/q "%FilePath%"
cd.>%FilePath%
for /f "delims=" %%a in (\'type "%~1"\') do echo ^<img src=^"%%~a^" /^> >> "%FilePath%"
set "FilePath=%FilePath:"=%"
start %FilePath%
exit


转载保留原文地址和作者名,只为错误勘正和信息补充。
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

以上是关于批处理系列(12) -合并文本(交叉合并/除重复除空行/行首行尾加特定字符)的主要内容,如果未能解决你的问题,请参考以下文章

基于Pandas.Dataframe中的多个列合并多个重复行

访问除合并变量之外的对 Mandrill API 的 JSON 请求中的变量

如何在一个除一列之外的所有列都相同的 Pandas DataFrame 中合并观察结果?

数据分析实战

xslt2+ 如何将组与任何匹配的元素组合并删除元素的重复项

合并重复的相同子查询