找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21512|回复: 6

[文本处理] 批处理如何把文本a的顺序按照文本b排列好,谢谢

[复制链接]
发表于 2022-2-24 10:31:09 | 显示全部楼层 |阅读模式
本帖最后由 yyz219 于 2022-2-24 11:32 编辑

批处理如何把文本a的顺序按照文本b排列好,谢谢
【a.txt是bat生成的(文字准确无误,但顺序要调整),b.txt是“妙手OCR ”抓取的(顺序准确无误,但是文字有可能有误)。由此,用加引号和.lnk不是好方法】

a.txt(需要重新调整顺序的文本)
  1. "常用.lnk"
  2. "菜单排序.lnk"
  3. "特殊符号.lnk"
  4. "整理碎片.lnk"
  5. "清TEMP+.lnk"
  6. "Ctrl.Shif.G.lnk"
  7. "替换 还原.lnk"
  8. "更新数据.lnk"
  9. "清 ie 临时.lnk"
  10. "清理TEMP.lnk"
  11. "Ctrl.Shif.A.lnk"
  12. "恢复后要.lnk"
  13. "抓文字好.lnk"
  14. "启动抓图+.lnk"
  15. "刷新+.vbs.lnk"
  16. "图标缓存.lnk"
  17. "搜索文件.lnk"
  18. "个人文件.lnk"
复制代码
b.txt(希望a.txt按照这里的顺序排列)
  1. 替换还原
  2. 整理碎片
  3. 菜单排序
  4. 个人文件
  5. 更新数据
  6. 搜索文件
  7. 刷新+.vbs
  8. 图标缓存
  9. 清TEMP+
  10. 清理TEMP
  11. 清ie临时
  12. 启动抓图+
  13. Ctrl.Shif.G
  14. 抓文字好
  15. 恢复后要
  16. Ctrl.Shif.A
  17. 特殊符号
  18. 常用
复制代码
发表于 2022-2-24 11:54:18 | 显示全部楼层
如何OCR不能准确识别的话,还是不太好弄的。不确定性可不止你给的例子这么多。
 楼主| 发表于 2022-2-24 12:01:21 | 显示全部楼层
回复 2# Echo11

就当作OCR是准确的,弄一下试试看。
发表于 2022-2-24 13:11:27 | 显示全部楼层
本帖最后由 Echo11 于 2022-2-24 13:21 编辑

为方便反复调试,我把结果输出到了c.txt

  1. (
  2.         for /F "usebackq tokens=1 delims=" %%b in ("b.txt") do for /F "usebackq tokens=1 delims=" %%a in ("a.txt") do ECHO.%%a|find /i "%%b" >nul 2>nul && ECHO.%%a
  3. )>"c.txt"
  4. ECHO.结束.
  5. pause>nul
  6. EXIT
复制代码
1、显然,这种方法是会有问题的。
2、你的a.txt每行结尾好像有个空格

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

发表于 2022-2-24 13:17:59 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-2-24 13:19 编辑

这样空格就不会有影响:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (a.txt) do (
  4.     set str=%%~na
  5.     set str=!str: =!
  6.     set "_!str!=%%a"
  7. )
  8. (for /f "delims=" %%i in (b.txt) do echo,!_%%i!)>a.txt
  9. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

发表于 2022-2-24 13:24:46 | 显示全部楼层
其实空格我想说的是:
文件名中的空格去掉还是会有多匹配的可能,比如: "a b.lnk"和"a    b.lnk"显然是2个文件
 楼主| 发表于 2022-2-24 13:27:56 | 显示全部楼层
回复 4# Echo11

我试一试先 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 10:03 , Processed in 0.010798 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表