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

[文本处理] [已解决]求助批处理把文件夹内文本合并提取重复出现的数值

本帖最后由 Bonnie 于 2023-7-12 23:15 编辑

各位大神:
      请教一下。桌面指定文件夹内(新建文件夹)有多个文本文档。
示例:文档1里面有0001   0003   0004   0005  0006   0007   0008   0009   000A
         文档2里面有0001  000B  000C  0031  0041   0055  0078  0098  00AA
         文档3里面有0001  0023  0033  0044  0056  0088  0099  00AB  00AC
         文档4里面有0001  003E   004E  007F  008D  009A  008F  004A   0000
能否在不合并内容的情况下提取多个文档中重复出现的值。如以上示例中的0001
1

评分人数

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

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('2^>nul type *.txt') do (
  4. for %%b in (%%a) do (
  5. set /a #%%b + = 1
  6. if !#%%b! equ 2 (
  7. echo %%b
  8. )
  9. )
  10. )
  11. endlocal
  12. pause
复制代码
bat小白,请多指教!谢谢!

TOP

老铁,能不能再帮忙优化一下下。if !#%%b! equ 2 这个2能不能不固定。判断文件夹下有多少个文本文档就是多少值。。。。。假设文件夹下有5个文档那就是5。。。有9个文档就是9
     
if !#%%b! equ 2   这个应该是判断总的的的重复次数吧。。。。。感谢感谢。。

77七 发表于 2023-7-12 21:16

TOP

回复 3# Bonnie


    2楼代码不做任何修改的情况下,测试出来的结果跟你顶楼的需求有什么差异吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Bonnie


  
  1. @echo off
  2. for %%a in (*.txt) do set /a n + = 1
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%a in ('2^>nul type *.txt') do (
  5. for %%b in (%%a) do (
  6. set /a #%%b + = 1
  7. if !#%%b! equ %n% (
  8. echo %%b
  9. )
  10. )
  11. )
  12. endlocal
  13. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

差异是没有。。就是那个重复次数为2会提取出来太多的值了。。如果文档多按重复次数来提取的话。。值就会越来越少。也越来越能得到想要而且正确的数据。


回复  Bonnie


    2楼代码不做任何修改的情况下,测试出来的结果跟你顶楼的需求有什么差异吗?
Batcher 发表于 2023-7-12 22:31

TOP

感谢感谢。。。非常完美



回复  Bonnie
77七 发表于 2023-7-12 22:37

TOP

返回列表