Scripting 我的自动phonegap安装程序需要用wget下载jdk,我让它在命令提示符下工作,但不在.hta文件中

Scripting 我的自动phonegap安装程序需要用wget下载jdk,我让它在命令提示符下工作,但不在.hta文件中,scripting,vbscript,wget,hta,Scripting,Vbscript,Wget,Hta,我已经编写了一个基于vbscript的.hta安装程序来自动安装PhoneGap/Cordova,并附带了所有先决条件(ant/jdk/badasdk等)。它几乎完成了,但是我被困在了需要直接下载JDK的地方 如果复制,请在commandprompt中粘贴此(长)行,并且它可以工作 wget --header "Cookie: gpw_e24=http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-18802

我已经编写了一个基于vbscript的.hta安装程序来自动安装PhoneGap/Cordova,并附带了所有先决条件(ant/jdk/badasdk等)。它几乎完成了,但是我被困在了需要直接下载JDK的地方

如果复制,请在commandprompt中粘贴此(长)行,并且它可以工作

 wget --header "Cookie: gpw_e24=http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;" ""http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-i586.exe -O jdk.exe
它将直接下载JDK,绝对不错

当您将代码片段粘贴到记事本(例如)并另存为.vbs并运行它时,它将不起作用

Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = "c:\"

'inQuotes function just puts quotes around the command parameters
objShell.Run inQuotes(WorkingDir & "\wget.exe") & " "  & " --header "  & inQuotes("Cookie: gpw_e24=http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; ") & "http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-i586.exe" & " -O" & " "  & inQuotes("jdk.exe"),1,True 


Function inQuotes(toQuote)
    'return with quotes around the toQuote parameter
    inQuotes = chr(34) & toQuote & chr(34)
End Function
在objShell.Run行的某个地方出现了问题,wget没有下载jdk。。。 我会非常感激你的帮助
谢谢:)

是否定义了变量
WorkingDir
?如果我放一个回声:

strCmd = inQuotes(WorkingDir & "\wget.exe") & " " & " --header " _
& inQuotes("Cookie: gpw_e24=http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; ") _
& "http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-i586.exe" & " -O" & " "  & inQuotes("jdk.exe")
WScript.Echo strCmd
我明白了:

"\wget.exe"  --header "Cookie: gpw_e24=http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; "http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-i586.exe -O "jdk.exe"
这不会传递给原始命令。也许会是这样

strCmd = "wget.exe --header " _
& inQuotes("Cookie: gpw_e24=http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;") _
& " " & chr(34) &chr(34) & "http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-i586.exe" _
& " -O jdk.exe"
WScript.Echo strCmd

谢谢你抽出时间。工作目录变量是正确的。我发现,如果我把脚本放在c:\中,它就可以工作,但如果我把它放在文件夹名称较长的地方,它就不能工作。在本例中,我的脚本位于d:\savedfiles\skydrive\desktop\phonegapinstaller,我认为shell无法找到它。所以我用。\n代替了工作目录来修复它,现在它可以工作了!魔法:D