如何使bat文件打开带有引号的Excel文件?

Jas*_*n94 1 windows batch-file

  • Excel安装在 C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE
  • 文件所在的文件夹 C:\Heffalump files
  • 示例文件的名称是 Auto the heff.xlsx

一直在用蝙蝠文件运行该excel文件,但无法使其正常工作。以上应该是

"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "C:\Heffalump\Auto the heff.xlsx" 
Run Code Online (Sandbox Code Playgroud)

击球时:

"C:\MyAwesomeBat.bat" "Auto the heff.xlsx"
Run Code Online (Sandbox Code Playgroud)

但是它保留了引号,因此一团糟。

cls
@SET ScheduledExcel=true
@SET ScheduledExcelFolder="C:\Heffalump files"
@SET ScheduledExcelFilePath=%ScheduledExcelFolder%\%1

"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" %ScheduledExcelFilePath%
Run Code Online (Sandbox Code Playgroud)

asc*_*pfl 5

您需要将整个参数括在引号中,而不仅仅是部分。您的第二条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%"
Run Code Online (Sandbox Code Playgroud)

我将整个 SET表达式括在引号中,因此它们不会成为值的一部分。

还要注意~%~1其中删除,如果有任何引号。