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

[文本处理] 批处理如何单个字符解析文本文档?

背景:有个 KID 社某小说的剧本文件,剧本中角色名称在剧本中使用“【”和“】”包围。需要列出所有角色的名称。(单行可能会出现多个角色名称。剧本有多个文件。)
设想:使用 FOR 语句,单个字符判断。如果找到“【”符号,将从“【”(被找到的)开始单个字符判断并写入到变量,如果找到“】”符号则停止。当搜索完毕后所有角色名称删除重复对象。
草稿:
  1. @echo off
  2. for /f "delims=" %%a in (整个剧本.txt) do (
  3.         for /l %%b in (1,0,1) do (
  4.                 set c=%%b
  5.                 set /a d=c+1
  6.                 echo %%b
  7.                 echo %c%
  8.                 echo %d%
  9.         )
  10. )
复制代码
测试时遇到问题,第 4 行似乎执行错误,因为第 4 行错误导致第五行不能正常执行,第 7 行和第 8 行回显”ECHO 处于关闭状态“。
这样我就无法在嵌套 FOR /L 中获取取当前数值了。
简单来说我就是想把所有文本文档的正文中所有用【】包围的内容写入到另一个文件,每行一项。并删除重复项。
Hey Master! I am Mad Scientist. So cooool...

返回列表