gpt4 book ai didi

javascript - 从 HTA 启动 VBScript 并传递变量

转载 作者:行者123 更新时间:2023-11-30 05:33:09 25 4
gpt4 key购买 nike

我对 javascript 和 HTA 还很陌生,但这是我目前所掌握的:

  <HTML> 
<HEAD>
<title>Create Drive</title>
<HTA:APPLICATION
APPLICATIONNAME="CreateDrive"
VERSION="1.0"
SINGLEINSTANCE="yes"/>
<SCRIPT language="JavaScript">
window.resizeTo(400,300)
function WriteFile() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.CreateTextFile("output.txt", true);
fh.WriteLine(userinfo.UN.value + ' ' + userinfo.FN.value + ' ' + userinfo.LN.value);
fh.Close();
}
</SCRIPT>
</HEAD>
<BODY>
<FORM name="userinfo">
<P>User Name: <INPUT name="UN" type="text"></P>
<P>First Name: <INPUT name="FN" type="text"></P>
<P>Last Name: <INPUT name="LN" type="text"></P>
<P><INPUT type="button" value="Create Drive" onclick="WriteFile();"></P>
</FORM>
</BODY>
</HTML>

我的目标是使用此 HTA 为新用户帐户创建网络驱动器。以前,为了实现这一点,使用了引用 VBScript 的 .bat,用户输入了三个值(用户、名字和姓氏),这些值被传递给 .vbs 并创建了驱动器:

cscript /nologo newdrive.vbs q:\users\%1 /DFS:yes /server:server1 /server2:server2 /userfirstname:%2 /userlastname:%3 /quiet:no

我想直接从我的 HTA 访问这个 VBScript 并传递 UN、FN 和 LN 的值。我目前正在将输入的值保存到文本文件中,但我很感激任何有关以更好的方式完成此操作的信息。

感谢您的协助。

最佳答案

我在这个例子中使用了 VBScript。不过,您可以在 JavaScript 中轻松地做到这一点。

Sub WriteFile()

' Retrieve the form values to be passed as args...
a1 = userinfo.UN.value
a2 = userinfo.FN.value
a3 = userinfo.LN.value

With CreateObject("WScript.Shell")

' Run the script, passing along the form values...
.Run "wscript.exe newdrive.vbs " & a1 & " " & a2 & " " & a3

End With

End Sub

在您的 newdrive.vbs 脚本中,您将使用 WScript.Arguments 集合检索这些值:

strUser  = WScript.Arguments(0)
strFirst = WScript.Arguments(1)
strLast = WScript.Arguments(2)

关于javascript - 从 HTA 启动 VBScript 并传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25626594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com