Vbscript Wscript.run";没有应用程序与此操作的指定文件关联;

Vbscript Wscript.run";没有应用程序与此操作的指定文件关联;,vbscript,runtime-error,msgbox,Vbscript,Runtime Error,Msgbox,我正在尝试启动“GetPID.exe”并存储错误代码。 这是.vbs代码: Set WshShell = CreateObject("WScript.Shell") strPath = Wscript.ScriptFullName Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(strPath) strFolder = objFSO.GetParentFolderName

我正在尝试启动“GetPID.exe”并存储错误代码。 这是.vbs代码:

Set WshShell = CreateObject("WScript.Shell")

strPath = Wscript.ScriptFullName

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPath)
strFolder = objFSO.GetParentFolderName(objFile)
strFolder = strFolder & "\GetPID.exe"
Msgbox strFolder 
Dim temppid
temppid = WshShell.Run(strFolder , 0 , True)
然而,在最后一行,我得到了以下信息:

G:\test001.vbs(11,1)(null):没有应用程序与 为此操作指定的文件

MsgBox回显到exe的正确路径,因此我不明白为什么会出现错误。

避免在评论中回答问题?我同意,但是。
然而,我同意另一个(压倒一切的)主题句:猜测(直觉)不是答案。换句话说,我喜欢来源丰富的答案中普遍适用的、解释清楚的解决方案

不幸的是,由于缺少关于
GetPID.exe
的信息,我既不能解释也不能提供这个强制答案:作为一般原则,请将
Run
方法的第一个参数括在一对双引号中

您可以使用以下语法:

temppid = WshShell.Run( """" & strFolder & """", 0 , True)
避免在评论中回答问题?我同意,但是。
然而,我同意另一个(压倒一切的)主题句:猜测(直觉)不是答案。换句话说,我喜欢来源丰富的答案中普遍适用的、解释清楚的解决方案

不幸的是,由于缺少关于
GetPID.exe
的信息,我既不能解释也不能提供这个强制答案:作为一般原则,请将
Run
方法的第一个参数括在一对双引号中

您可以使用以下语法:

temppid = WshShell.Run( """" & strFolder & """", 0 , True)

tempid=WshShell.Run(“&strFolder&”“,0,True)
只是一个猜测。@JosefZ它有效,感谢很久@JosefZ但我认为“避免在评论中回答问题”?
tempid=WshShell.Run(“&strFolder&”“,0,True)
只是一个猜测。@JosefZ它有效,感谢很久@JosefZ但我认为“避免在评论中回答问题”?不是强制回答,至少问题不是未回答的(:但猜测回答了问题…怎么办?…删除问题?编辑问题?删除答案?编辑答案?如果答案不是强制回答会更好:“避免在评论中回答问题”“只是我的意见……抱歉……现在你可以给出你自己的答案来解释错误的起源;然后,考虑把最有用的人标记为被接受的。为了解释为什么这是重要的。我可以在你的需求上删除我强迫的一个。不是强迫的回答,至少问题不是没有答案的。(:但是一个猜测回答了问题…怎么办?…删除问题?编辑问题?删除答案?编辑答案?如果答案不是强制回答的话会更好:“避免在评论中回答问题”只是我的意见…抱歉……现在你可以给出你自己的答案来解释错误的起源;然后,考虑把最有用的一个标记为被接受的。为了解释为什么这是重要的。我可以根据你的要求删除我的强迫的一个。