- Excel 安装在
C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE
- 文件所在的文件夹
C:\Heffalump files
- 示例文件的名称是
Auto the heff.xlsx
一直在玩弄一个 bat 文件来运行该 excel 文件,但无法让它工作。以上应该是
"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "C:\Heffalump\Auto the heff.xlsx"
运行 bat 时:
"C:\MyAwesomeBat.bat" "Auto the heff.xlsx"
但它保留了引号,所以一切都搞砸了。
cls
@SET ScheduledExcel=true
@SET ScheduledExcelFolder="C:\Heffalump files"
@SET ScheduledExcelFilePath=%ScheduledExcelFolder%\%1
"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" %ScheduledExcelFilePath%
最佳答案
您需要将整个参数用引号引起来,而不仅仅是部分参数。您的第二个 SET
语句将引号包含在值中;附加 %1
后,您将在值中加上引号。
以下应该有效:
CLS
@SET ScheduledExcel=true
@SET "ScheduledExcelFolder=C:\Heffalump files"
@SET "ScheduledExcelFilePath=%ScheduledExcelFolder%\%~1"
"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "%ScheduledExcelFilePath%"
我用引号将整个 SET
表达式括起来,因此它们不会成为值的一部分。
另请注意 %~1
中的 ~
,如果有的话,它会删除周围的引号。
关于windows - 如何使 bat 文件打开带引号的 Excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32632240/