2013-02-25 91 views
1

使用.vbs腳本,我想用日期參數運行.exe。日期參數是「下個日期日期」。我在下面嘗試了這個腳本,但是我得到錯誤:日期無效的月份。傳遞給.exe的日期參數

爲什麼?

Set WshShell = CreateObject("WScript.Shell") 

NextDayDate = DateAdd("d",1,dtmStart) 
WshShell.Run """C:\stmt.exe"" DATE=NextDayDate 

回答

3

VBScript不執行可變插值。你需要簡單地拼接日期字符串

Set WshShell = CreateObject("WScript.Shell") 

NextDayDate = DateAdd("d",1,dtmStart) 
WshShell.Run """C:\stmt.exe"" DATE=" & NextDayDate 

您可能需要包括引號如果日期中有空格(儘管這可能取決於你的可執行程序)結束。

WshShell.Run """C:\stmt.exe"" DATE=""" & NextDayDate & """" 
+0

感謝您的幫助。我在DATE =「&NextDayDate中遇到了一個錯誤,但是在我拿出報價之後, – 2013-02-25 16:22:33

+0

+1,特別是因爲* both *字符串的結果是正確的,所以引用和運算符都是正確的 – 2013-02-25 16:32:19

+0

儘管可執行文件中的引號是相當的因爲它顯然不包含任何空格;)我個人更喜歡使用引號函數來避免雙引號('Function qq(str):qq = Chr(34)&str&Chr(34):End Function') 。我相信'「... DATE =」&qq(NextDayDate)'比'「... DATE =」「」&NextDayDate&「」「」'更具可讀性。 – 2013-02-25 16:40:43