2015-09-26 36 views
1

我試圖啓動「GetPID.exe」並存儲錯誤代碼。 這是該.vbs代碼:Wscript.run「沒有應用程序與此操作的指定文件關聯」

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)(空):無應用程序與此操作的指定文件 相關聯。

MsgBox與exe的正確路徑相呼應,所以我很困惑爲什麼會出現這個錯誤。

+0

'temppid = WshShell.Run( 「」 「」 &strFolder& 「」 「」,0,真)'只是一種猜測。 – JosefZ

+0

@JosefZ它的作品,感謝 – loadingnow

+0

@JosefZ很長時間後,但我認爲「避免回答評論中的問題」? – loadingnow

回答

0

避免回答評論中的問題?我同意自己,但this thesis seems to be considered opinion-based here
但是,我同意還有一個(超重)的專題句子:猜測(預感)不是答案。換句話說,我喜歡普遍適用,很好解釋解決方案well-sourced答案。

不幸的是,由於缺乏對GetPID.exe信息,我既不能解釋和源此被迫答案:作爲一般原則問題,請將Run方法的第一個參數,一對雙引號的。

您可以使用未來的語法:

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

不是強制的答案,至少在問題不解答(?:但猜測是在回答該問題...該怎麼辦...刪除問題,編輯問題,刪除答案編輯答案 – loadingnow

+0

它的更好,如果????答案不是強迫:「避免在回答問題的意見」只是我的意見了......很抱歉...... – loadingnow

+0

@loadingnow你可以給錯誤的你自己的答案解釋起源;然後,考慮將其標記爲接受的最有用的一個[見。這個頁面](http://meta.stackexchange.com/questions/5234/)來解釋爲什麼這很重要,我可以根據你的需求刪除我強迫的一個。 – JosefZ

相關問題