vba - 使用 cmd.exe 调用 shell 与 Wscript.Shell
问题描述
我正在使用以下代码,它工作正常。
path = "cd C:\Program Files\bin & AppX File.txt"
Call Shell("cmd.exe /k " & path, vbNormalFocus)
但是,我必须使用 waitOnreturn 所以我更改为以下代码,它不再工作了。
path = "cd C:\Program Files\bin & AppX File.txt"
Dim wsh As Object
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Set wsh = VBA.CreateObject("WScript.Shell")
wsh.Run ("cmd.exe /k " & path & ", windowStyle, waitOnReturn")
错误是“无法读取文件“File.txt”:没有这样的文件或目录“但文件在那里。文件名是File.txt。该程序的名称是 AppX。如果我首先将方向更改为 AppX 路径,该程序允许我使用 cmd.exe 运行该文件。然后,要使用 cmd.exe 运行文件,我需要运行“AppX File.txt” 是否有使用 WScript.Shell 代码运行的东西
解决方案
由于该文件的名称中有空格,因此您需要将路径用引号引起来。所以像:
path = "cd \"C:\Program Files\bin & AppX File.txt\""
推荐阅读
- python - ValueError:无法覆盖主键字段
- java - 如何仅解析 JSONArray 的特定部分?
- amazon-web-services - 从 GCP 项目连接到 AWS VPC 中的实例
- spring-boot - 允许 spring boot 以失败的健康检查开始
- javascript - 反应类名未在 switch 语句中定义
- php - 在 Php 中以一种语法将多组命名元素添加到数组
- c# - matchtemplate openCv2 python不匹配类似的样子
- outlook - 自动订阅 iCalendar (RFC5545) 提要
- xml - RSS 提要导入所有 youtube 频道视频
- c - C - 从文件末尾读取意外的随机字符