返回列表 发帖

[文本处理] 请问去重复行的批处理如何修改为批量处理?

@echo off
setlocal
(for /f "delims=" %%i in (a.txt) do (
    if not defined %%i (
        echo,%%i
        set %%i=1
    )
))>b.txt
endlocal
pauseCOPY
改为批量执行会错误, 结果不对, 请问如何修改为批量处理
@echo off
setlocal
(for /f "delims=" %%i in (%%i.txt) do (
    if not defined %%i (
        echo,%%i
        set %%i=1
    )
))>%%i.txt
endlocal
pauseCOPY

本帖最后由 娜美 于 2023-9-18 17:25 编辑

回复 2# pd1
@echo off
setlocal
for /f "delims=" %%a in ('dir /b *.txt') do (
(for /f "delims=" %%i in (%%a) do (
    if not defined %%i (
        echo,%%i
        set %%i=1
    )
    set  %%i=
)))>%%a.txt
endlocal
pauseCOPY
主题代码是去重复行的  执行后, 输出了整个原文本, 似乎失效,  不知道啥原因

1.txt
C
B
A
C

2.txt
A
B
C
A

TOP

哥哥们怎么搞的变复杂了

只想将主题代码改为批量执行后输出对应文件名就行
2楼哥哥理解正确, 但是执行后没有发挥作用
用bat只因为要添加到bat脚本中,

TOP

回复 14# Batcher


   对了, 原来可以这样, 谢谢哥哥

TOP

采用变量字典的去重方案有几点注意,虽是老调重弹,但用于大数据场合依然有限》
一。单个文件行数限制
二。单行字符长度限制
三。文本行皆为a-zA-Z字母时,变量字典定义因不区分大小写而失误



    正确,  多谢哥哥提醒

TOP

回复 17# 77七


    嗯嗯,  哥哥的区分了大小写,   只是有特殊字符的不能

TOP

回复 12# aloha20200628


    大哥哥,  似乎不支持大小写,  和特殊字符,   如果需要大小写, 和支持尽可能多特殊字符呢 ?

TOP

回复 22# 77七

哥哥的也正确

TOP

回复 23# aloha20200628


   谢谢哥哥

TOP

返回列表