[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]求助BAT批量合并同一目录下的所有txt文本,去除重复,去除空行

求助批量合并同一目录下的所有txt文本,去除重复,去除空行!

比如:
a.txt内容
aaa

bbb

33333.txt内容
bbb
ccc

求一批处理,使运行后生成c.txt
c.txt内容
aaa
bbb
ccc
主要是去掉重复的内容,去掉空行,
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 pcl_test 于 2015-3-29 18:33 编辑

回复 1# gater
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b /on *.txt') do (
  3. for /f "delims=" %%b in ('type "%%a"') do (
  4. if not defined %%b set %%b=Def & >>$ echo,%%b
  5. )
  6. )
  7. move $ "合并.txt"
  8. pause
复制代码
1

评分人数

TOP

  1. @echo off
  2. (for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
  3.     for /f "delims=" %%b in ('type "%%a"') do (
  4.         if not defined %%b (
  5.             set %%b=1
  6.             echo,%%b
  7.         )
  8.     )
  9. ))>合并.txt
复制代码

TOP

  1. @echo off
  2. (for /f "delims=" %%a in ('type *.txt' 2^>nul) do (
  3. if not defined %%b (
  4. set %%b=1
  5. echo,%%b
  6. )
  7. ))>合并.txt
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for %%i in (*.txt) do (
  4.     for /f "usebackq delims=" %%a in ("%%i") do (
  5.     echo,%%a
  6.     )
  7. )) >%temp%\$
  8. for /f "delims=" %%i in (%temp%\$) do (
  9. call :find "%%i"
  10. )
  11. pause
  12. :find
  13. find "%~1" "$1" >nul 2>nul||echo,%~1>>$1.txt&&goto :eof
  14. goto :eof
复制代码
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for %%i in (*.txt) do (
  4.     for /f "usebackq delims=" %%a in ("%%i") do (
  5.     if not defined %%a set "%%a=."&echo,%%a
  6. )
  7. )) >$
  8. move /y $ result.txt >nul
  9. pause
复制代码
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 1# gater
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

本帖最后由 gater 于 2015-3-28 17:26 编辑

回复 2# pcl_test


@echo off
for /f "delims=" %%a in ('dir /a-d /b /on *.txt') do >>"合并.txt" type "%%a"
for /f "delims=" %%b in ('type "合并.txt"') do (
if not defined %%b set %%b=Def & >>$ echo,%%b
)
move $ "合并.txt"
pause
提示系统找不到指定文件!!有重复  代码需要优化,可以用!!

TOP

回复 3# DAIC


和二楼一样的测试文本, 大量数据出现丢失~~

TOP

回复 4# CrLf


和 2、3楼一样的测试数据,合并文本没有数据~~

TOP

回复 6# 慕夜蓝化


出现了和3楼一样的情况,数据丢失!

TOP

采纳2楼的代码!!

TOP

回复 9# gater


    能否把你的数据发出来,我想看看哪些会丢掉。

TOP

  1. if ($true){}# == ($true){}# goto ___yiwuyun
  2. <#
  3. :___yiwuyun
  4. @echo off&setlocal&cls
  5. (echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  6. pause
  7. exit/b 0
  8. #>
  9. gc -path ($strPath+"*.txt")|sort  -unique
  10. <#end#>
复制代码

TOP

本帖最后由 gater 于 2015-3-29 15:21 编辑

回复 13# DAIC

源数据有点大,附件不能上传,下载地址:http://43.252.160.140:8009/广东坐标.zip

TOP

返回列表