我需要生成一个简单的 .BAT 脚本/文件。我以为这很容易,但我错了:-(
BAT 脚本必须(我相信):
- 使用 const searchstring 进行搜索
- 获取“开始”目录的绝对文件夹路径
- 采用文件名掩码/正则表达式进行搜索
- 将 const 字符串“附加”到文件的内容中
- 递归遍历开始目录和子目录中的所有文件(向下 n 级)搜索(和“处理”)与文件名掩码/正则表达式匹配的任何文件
- 搜索“当前”文件的内容(所有可以在 NOTEPAD 中打开的“文本”文件),以查找搜索字符串。搜索字符串可以在文件中的任何位置找到 0、1 或多次。
- 如果找到了 searchstring,则什么也不做。如果未找到搜索字符串,则将新字符串附加到文件末尾。瞧!(理论上)
这是我已经拥有的,并没有真正起作用。我有几个可以看到的问题。如何获取“当前文件”以及如何在每个文件之后“重置”ERRORLEVEL。
SET SEARCHSTRING="search for this text"
SET STARTPATH="C:\StartFolder\*"
SET MATCHFILES="*.txt"
SET APPENDSTRING="Appended text"
findstr /c:%SEARCHSTRING% /b /i /d:%STARTPATH% %MATCHFILES%
SET FOUND=%ERRORLEVEL%
REM 0=true, 1=false
IF %FOUND%==1 (
REM ISSUE: How to get "current" file path???
REM %APPENDSTRING% >> %CURRENTFILEPATH%
)
欢迎提出任何问题/建议
干杯
凯尔