求助编写批处理脚本:调用SpreadsheetCompare对比Excel并生成结果
批量运行SpreadsheetCompare并自动对比Excel文件的解决方案
用户需求
- 启动SpreadsheetCompare.exe工具
- 加载指定的File1.xlsx与File2.xlsx文件
- 自动执行文件对比操作
- 生成output.xlsx作为对比结果文件
原错误脚本
用户尝试的批处理脚本无法正常运行,且无法加载目标Excel文件,代码如下:
@echo off set EXCEL="C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" set COMPARETOOL="C:\Program Files (x86)\Microsoft Office\root\Client\AppVLP.exe" "C:\Program Files (x86)\Microsoft Office\Root\Office16\DCF\SPREADSHEETCOMPARE.EXE" set File1="C:/Batch Programming/Bat2/File1.xlsx" set File2="C:/Batch Programming/Bat2/File2.xlsx" set OUTPUT_FILE="C:/Batch Programming/Bat2/output.x`your text`lsx" %COMPARETOOL% %EXCEL% /x /r %File1% %File2% %OUTPUT_FILE% pause
修正后的可运行脚本
@echo off :: 根据你的Office安装路径调整以下变量 set COMPARETOOL="C:\Program Files (x86)\Microsoft Office\root\Client\AppVLP.exe" set SPREADSHEETCOMPARE="C:\Program Files (x86)\Microsoft Office\Root\Office16\DCF\SPREADSHEETCOMPARE.EXE" :: 注意路径使用批处理支持的反斜杠\ set File1="C:\Batch Programming\Bat2\File1.xlsx" set File2="C:\Batch Programming\Bat2\File2.xlsx" set OUTPUT_FILE="C:\Batch Programming\Bat2\output.xlsx" :: 调用工具执行对比,使用官方参数格式 %COMPARETOOL% %SPREADSHEETCOMPARE% /Compare %File1% %File2% /Output %OUTPUT_FILE% pause
关键问题修正说明
- 路径分隔符错误:批处理脚本仅支持反斜杠
\作为路径分隔符,原脚本中使用的正斜杠/会导致路径识别失败 - 无效字符残留:
OUTPUT_FILE变量中存在多余的your text垃圾字符,直接导致输出路径无效 - 参数格式错误:SpreadsheetCompare不需要额外调用Excel.exe,且官方指定的对比参数是
/Compare,输出参数是/Output,原脚本使用的/x /r并非有效参数 - 工具调用方式错误:原脚本将AppVLP.exe和SpreadsheetCompare.exe合并为一个变量,导致参数传递混乱,拆分后能正确传递工具路径
内容的提问来源于stack exchange,提问作者Nadeem Ahmed
相关产品推荐
相关产品推荐

