Beyond Compare XML对比脚本报错求助:无法加载基础文件夹
解决Beyond Compare脚本“Fatal Scripting Error: Unable to load base folder”报错
问题场景
通过Python触发Beyond Compare脚本对比两个XML文件并生成文本报告,执行时持续触发“无法加载基础文件夹”的致命脚本错误。
原脚本内容
log normal "C:\Temp\XML_Comparisons\XML_Files_Storage\BCLog.txt" compare rules-based load "C:\Temp\XML_Comparisons\XML_Files_Storage" "C:\Temp\XML_Comparisons\XML_Files_Storage" load "%1" "%2" text-report layout:side-by-side options:display-mismatches output-to:"BC_Report.txt" "%1" "%2"
报错日志
7/19/2024 9:40:31 AM >> log normal "C:\Temp\XML_Comparisons\XML_Files_Storage\BCLog.txt" 7/19/2024 9:40:31 AM >> compare rules-based 7/19/2024 9:40:31 AM >> load "C:\Temp\XML_Comparisons\XML_Files_Storage" "C:\Temp\XML_Comparisons\XML_Files_Storage" 7/19/2024 9:40:31 AM Load comparison: C:\Temp\XML_Comparisons\XML_Files_Storage <-> C:\Temp\XML_Comparisons\XML_Files_Storage 7/19/2024 9:40:31 AM >> load "2024_V769_2024-05-31_17-50-07_SVC_CG_sorted.xml" "2024_V769_2024-06-28_12-29-07_SVC_NG_sorted.xml" 7/19/2024 9:40:31 AM Load comparison: <-> 7/19/2024 9:40:31 AM Fatal Scripting Error: Unable to load base folder 7/19/2024 9:40:31 AM Script completed in 0.7 seconds
报错原因分析
load命令类型冲突:第一次load加载的是文件夹(目录对比模式),第二次load试图加载文件,Beyond Compare无法直接从目录对比模式切换到文件对比模式,导致加载逻辑混乱。- 文件路径不完整:第二次
load中的%1和%2仅传递了文件名,未包含完整路径,且当前工作目录并非文件所在目录,BC无法定位到目标文件,进而触发“无法加载基础文件夹”的错误。
修复方案
方案1:移除目录load,直接加载文件绝对路径
去掉多余的文件夹加载命令,直接通过完整路径加载目标XML文件(需确保Python传递的%1和%2是文件绝对路径):
log normal "C:\Temp\XML_Comparisons\XML_Files_Storage\BCLog.txt" compare rules-based load "%1" "%2" text-report layout:side-by-side options:display-mismatches output-to:"C:\Temp\XML_Comparisons\XML_Files_Storage\BC_Report.txt" "%1" "%2"
方案2:脚本内拼接文件路径(Python仅传文件名时)
如果Python仅传递文件名,可在BC脚本中手动拼接文件所在目录的完整路径:
log normal "C:\Temp\XML_Comparisons\XML_Files_Storage\BCLog.txt" compare rules-based load "C:\Temp\XML_Comparisons\XML_Files_Storage\%1" "C:\Temp\XML_Comparisons\XML_Files_Storage\%2" text-report layout:side-by-side options:display-mismatches output-to:"C:\Temp\XML_Comparisons\XML_Files_Storage\BC_Report.txt" "C:\Temp\XML_Comparisons\XML_Files_Storage\%1" "C:\Temp\XML_Comparisons\XML_Files_Storage\%2"
验证要点
- 确认Python传递的参数是完整文件路径(方案1),或脚本内路径拼接正确(方案2)。
- 检查目标文件目录、日志输出目录、报告输出目录均存在且具备读写权限。
内容的提问来源于stack exchange,提问作者pradleycooper
相关产品推荐
相关产品推荐

