我是创建脚本的新手。我正在使用基于C语言的软件项目。其中一个问题是项目中有很多未使用的#define
常量定义,我创建了一个Windows脚本来查找未使用的#defines
,如下所示:
rem /*Extract all the lines with #defines to log.txt */
findstr "#define" *.h >log.txt
rem /*Extract all the 'tokens' from log.txt to log2.txt */
FOR /F "tokens=2 delims= " %%G IN (log.txt) DO @echo %%G >>log2.txt
rem /*Search through the *.c files in the folder to see if the */
rem /*tokens from log2.txt are used. If not, print them to log5.txt */
for /F %%i in (log2.txt) do (
findstr /M /C:%%i *.c
If ERRORLEVEL 1 echo %%i >>log5.txt )
上述脚本的问题在于它不检查预处理器常量是否实际用于源代码行或注释行(/ * * /)。请有人帮忙吗?此外,我感谢任何简化脚本或指出任何缺点的建议。