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