Windows 脚本主机 - (文件路径)中没有文件扩展名

Posted

技术标签:

【中文标题】Windows 脚本主机 - (文件路径)中没有文件扩展名【英文标题】:Windows script host - There is no file extension in (file path) 【发布时间】:2015-06-09 06:54:07 【问题描述】:

我正在尝试使用 Windows 任务调度程序运行 Windows 脚本。 我收到以下错误。

这是完整的文件路径

C:\Users\Desktop\服务校准详情\RunExcel\RunExcel.vbs

上面的屏幕截图没有显示完整的文件路径

这是什么意思?

我怎样才能成功地执行此操作?

【问题讨论】:

"C:\Users\Desktop\service calibration details\RunExcel\RunExcel.vbs" 注意双引号。 【参考方案1】:

您也可以将文件夹重命名为不再有空格 - 或许改用下划线。

C:\Users\Desktop\service_calibration_details\RunExcel\RunExcel.vbs

【讨论】:

【参考方案2】:

问题是由文件路径中的空格引起的。我在 VBA 上使用 Shell 函数发现了同样的问题,虽然环境不一样,但我认为解决方案是适用的。我将尝试以一般方法解决您的问题,而不仅仅是针对 Windows 任务计划程序。

上面的屏幕截图没有显示完整的文件路径

这是什么意思?

屏幕不显示完整路径,因为 Windows 会将路径读取为单个字符串,因此,当它在路径上找到第一个空格时,它将停止读取,这正好在单词“服务”之后.那时,Windows 认为您的完整路径是“C:\Users\Desktop\service”,因此当它在该位置查找脚本时............错误!!。

我怎样才能成功地执行此操作?

解决此问题的方法是用引号将文件路径括起来。正确的方法取决于您使用的环境。从 1 号开始尝试这些。

    使用简单的引号将文件路径括起来: "C:\Users\Desktop\服务校准详情\RunExcel\RunExcel.vbs"

    如果您的文件路径已经是用引号括起来的字符串的一部分(例如函数的参数),请使用双引号或 CHR(34)。以下示例使用 VBA 上的函数 Shell

使用双引号:

Shell "wscript ""C:\Users\Desktop\service calibration details\RunExcel\RunExcel.vbs""", vbNormalFocus

使用 CHR(34):

Shell "wscript " & Chr(34) & "C:\Users\Desktop\service calibration details\RunExcel\RunExcel.vbs" & Chr(34), vbNormalFocus

【讨论】:

以上是关于Windows 脚本主机 - (文件路径)中没有文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中,如何将 1 个或多个文件作为具有绝对路径的参数拖放到我的脚本中? (适用于 windows、linux 和 mac)

如何在Linux shell中获取本机主机名

在 Windows .cmd 文件或批处理文件的路径中设置带有空格的路径变量

Windows Batch:如何添加主机条目?

Oracle Windows/Linux定期清理归档日志

PC端微信多开脚本