上头的任务,喜欢上了.o文件用于打包核心代码,但是.o文件过多,想一键添加,结合S32DS的特性,.o文件的添加位置在一个名叫.cproject的文件里,里面大概长这样:
码住的地方就是需要添加的文件名,那么几百个文件名一条一条的加肯定不现实,所以就有了下面这个脚本:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%f in ('dir /b /a-d *.o') do (
set "file=%%f"
set "file=^<listOptionValue builtIn^="false" value^=^"^"^;^:!file!^"^;^"/^>"
echo !file!>> a.txt
)
echo Done.
其中有很多坑,比如单个存在的引号",会和开头凑成一对导致
set "file=<listOptionValue builtIn="false" value="^":!file!""/>"
变成
set "file=<listOptionValue builtIn="false" value="
所以在文本中的一些特殊符号统统用^转义就好啦O(∩_∩)O