标题: [文本处理] [已解决]求助批处理把文件夹内文本合并提取重复出现的数值 [打印本页]
作者: Bonnie 时间: 2023-7-12 17:42 标题: [已解决]求助批处理把文件夹内文本合并提取重复出现的数值
本帖最后由 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
作者: 77七 时间: 2023-7-12 21:16
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('2^>nul type *.txt') do (
- for %%b in (%%a) do (
- set /a #%%b + = 1
- if !#%%b! equ 2 (
- echo %%b
- )
- )
- )
- endlocal
- pause
复制代码
作者: Bonnie 时间: 2023-7-12 22:24
老铁,能不能再帮忙优化一下下。if !#%%b! equ 2 这个2能不能不固定。判断文件夹下有多少个文本文档就是多少值。。。。。假设文件夹下有5个文档那就是5。。。有9个文档就是9
if !#%%b! equ 2 这个应该是判断总的的的重复次数吧。。。。。感谢感谢。。
77七 发表于 2023-7-12 21:16
作者: Batcher 时间: 2023-7-12 22:31
回复 3# Bonnie
2楼代码不做任何修改的情况下,测试出来的结果跟你顶楼的需求有什么差异吗?
作者: 77七 时间: 2023-7-12 22:37
回复 3# Bonnie
- @echo off
- for %%a in (*.txt) do set /a n + = 1
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('2^>nul type *.txt') do (
- for %%b in (%%a) do (
- set /a #%%b + = 1
- if !#%%b! equ %n% (
- echo %%b
- )
- )
- )
- endlocal
- pause
复制代码
作者: Bonnie 时间: 2023-7-12 23:13
差异是没有。。就是那个重复次数为2会提取出来太多的值了。。如果文档多按重复次数来提取的话。。值就会越来越少。也越来越能得到想要而且正确的数据。
回复 Bonnie
2楼代码不做任何修改的情况下,测试出来的结果跟你顶楼的需求有什么差异吗?
Batcher 发表于 2023-7-12 22:31
作者: Bonnie 时间: 2023-7-12 23:14
感谢感谢。。。非常完美
回复 Bonnie
77七 发表于 2023-7-12 22:37
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |