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

标签 windows batch-file

  • 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/

相关文章:

python - 将 python 脚本作为服务运行时出现问题

python - bat 脚本链接到 python 脚本

java - 我可以在 Windows run.bat 文件中屏蔽/加密输入文本(用于前密码)吗?

windows - 使用标准用户帐户在提升的脚本中获取登录用户名

batch-file - 如何转义 `@` 中的 `forfiles` 变量替换?

python - 查找正在运行的进程的基地址

c++ - 如何获取所有可用的事件日志名称?

c - 如何在共享内存中保存结构 C - Windows

windows - 当由 Windows 服务生成的进程调用时,CreateMutex() 失败并显示 ERROR_ACCESS_DENIED

command-line - 制作用户名和密码的命令提示符