Scripting 我的自动phonegap安装程序需要用wget下载jdk,我让它在命令提示符下工作,但不在.hta文件中
我已经编写了一个基于vbscript的.hta安装程序来自动安装PhoneGap/Cordova,并附带了所有先决条件(ant/jdk/badasdk等)。它几乎完成了,但是我被困在了需要直接下载JDK的地方 如果复制,请在commandprompt中粘贴此(长)行,并且它可以工作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
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