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

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

  1. @echo off
  2. setlocal
  3. (for /f "delims=" %%i in (a.txt) do (
  4.     if not defined %%i (
  5.         echo,%%i
  6.         set %%i=1
  7.     )
  8. ))>b.txt
  9. endlocal
  10. pause
复制代码
改为批量执行会错误, 结果不对, 请问如何修改为批量处理
  1. @echo off
  2. setlocal
  3. (for /f "delims=" %%i in (%%i.txt) do (
  4.     if not defined %%i (
  5.         echo,%%i
  6.         set %%i=1
  7.     )
  8. ))>%%i.txt
  9. endlocal
  10. pause
复制代码

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

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

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

返回列表