返回列表 发帖
本帖最后由 aloha20200628 于 2025-2-7 17:05 编辑

回复 3# zhx1231

以下代码假设包含300个子目录的根目录是 d:\300(可被楼主自定义),该目录中已存在一个名为 提取字段列表.lst 的文件(须由楼主自定义),其中每行内容格式为 文件名 提取字段 (中间用英文空格分隔),举例如下
1 圆领印花字母
2 植绒印花字母
3 绿色亮眼
...
代码存为 test.bat 运行,须与 提取字段列表.lst 文件均在根目录,运行结果生成楼主要求的文件 提取结果列表.lst(文件名可被楼主自定义)
  1. @echo off &cd /d "d:\300"
  2. (for /f "usebackq tokens=1* delims=, " %%a in ("提取字段列表.lst") do for /r %%F in ("%%a.txt") do (
  3.    set/p v=<"%%F" &setlocal enabledelayedexpansion
  4.    if "!v!"=="!v:%%b=!" (echo,%%a) else echo,%%a,%%b
  5.    endlocal))>"提取结果列表.lst"
  6. pause&exit/b
复制代码

TOP

本帖最后由 aloha20200628 于 2025-2-7 22:34 编辑

回复 8# zhx1231

一。需要看一下你定义的 ‘提取字段列表.lst’ 文件内容
二。需要知道你的 *.txt 文件格式,是否每个文件只有一行?文件编码是ansi编码还是utf-8编码?
三。6楼代码假设被处理的 *.txt 文件编码都是ansi编码,每个文件只有一行数据;假设 ‘提取字段列表.lst’ 文件编码也是ansi编码

TOP

返回列表