Lua文件扩展名前添加标签重命名问题求助
解决Lua文件重命名时标签位置错误的问题
问题核心是当前代码直接将标签追加在完整文件名后,导致扩展名被留在标签前面。要实现标签插入文件名与扩展名之间,需要先拆分文件名和扩展名,再重新拼接。
解决步骤:
- 拆分文件名与扩展名:通过Lua的字符串匹配功能,提取文件名主体和扩展名部分。
- 重新拼接目标文件名:将标签插入文件名主体与扩展名之间,组合成最终的文件名。
修改后的代码片段:
if (OpenProjectVersion(olsnaam, 1*versienummer)) then -- "1*" => cast to integer -- 拆分文件名和扩展名 local name_body, ext = inputfile:match("^(.*)%.(.*)$") local target_filename if name_body and ext then -- 有扩展名的情况,将标签插入中间 target_filename = name_body .. "---Tuned." .. ext else -- 无扩展名的情况,直接追加标签(兼容边界场景) target_filename = inputfile .. "---Tuned" end if (projectExport(output_path..target_filename, eFiletypeBinary)) then OUTPUT:write("done"); --File exported successfully projectClose(); gevonden = "1"; end end
代码说明:
inputfile:match("^(.*)%.(.*)$"):通过正则匹配,捕获最后一个点号前的所有字符作为文件名主体(name_body),点号后的字符作为扩展名(ext)。- 针对带扩展名的文件(如
AudiA6.bin),会生成AudiA6---Tuned.bin;无扩展名的文件则直接追加标签,避免异常。
内容的提问来源于stack exchange,提问作者laytonanthony
相关产品推荐
相关产品推荐

