我正在尝试将.hta文件保存在与我希望运行的.exe相同的文件夹中。我了解至少有两种方法可以从.hta文件启动此应用程序。
如果代码可以在一个文件中完成,我更喜欢它,而不是将用户输入变量发送到批处理文件,但无论什么效果最好。
路径1的当前批处理文件:
@echo off
cd SourceDir
app.exe -v --log-file testH.txt -H -L "SourceDir\123\x.dll"
"SourceDir\456\abc.rar"
路径2的当前批处理文件:
@echo off
cd SourceDir
app.exe -v --log-file testC.txt -C usertext -L "SourceDir\123\x.dll"
"SourceDir\456\abc.rar"
我的基本代码不起作用:
<SCRIPT LANGUAGE="VBScript">
Sub Hosting
Set Shell = CreateObject("WScript.Shell")
Shell.run "app.exe -v --log-file testH.txt -H -L "&
SourceDir.Value & "123\x.dll" & SourceDir.Value & "456\abc.rar"
End Sub
</SCRIPT>
如何让表单字段和sourcedir数据在此exe上运行? 是否更容易将变量转移到批处理文件并进行相应的编辑?
小部分:
<html>
<head>
<title>Test</title>
<HTA:APPLICATION
ID="objHTA_Info"
APPLICATIONNAME="HTA_Info"
SINGLEINSTANCE="yes"
>
<script language="VBScript">
FullName = replace(objHTA_Info.commandLine,chr(34),"")
arrFN=split(FullName,"\")
FileName = arrFN(ubound(arrFN))
SourceDir=replace(FullName,FileName,"")
Sub Window_onLoad
html = "<TABLE><TR><TD><b>Directory of app.exe </b></TD></TR><TR><TD>" & SourceDir & "</TD></TR></TABLE>"
BLAH.InnerHTML = html
End Sub
Sub RunProgram
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "app.exe -L " & SourceDir & "123\x.dll" & SourceDir & "456\abc.rar"
End Sub
</script>
</head>
<body>
<button onclick="RunProgram">Run app.exe</button>
<SPAN ID=BLAH></SPAN>
</body>
</html>
脚本的第一部分工作正常,并显示正确的工作目录路径。单击该按钮可打开应用程序,但由于参数错误而崩溃。
没有参数,运行正常:
Sub RunProgram
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "app.exe"
End Sub
我需要参数! 感谢任何帮助!
答案 0 :(得分:0)
尝试将所有命令放在变量中并使用msgbox查看语法是否正确。我不知道我错了,但我认为你应该在"123\x.dll" & SourceDir
之间留出空格。
我不是批处理文件专家,但你在哪里捕获参数?