我是脚本,vbs和HTA命令的新手,但我已经尝试创建一个简单的hta文件夹,其中包含一些表示日期和当前时间的文本框,我需要运行一个特定的cmd命令来获取该日期/小时并在指定的commad中使用它们。我想你在阅读代码时会理解更多。我会提前为错误做好准备。
<html>
<head>
<title>HTA Test</title>
<HTA:APPLICATION
ID="objTest"
APPLICATIONNAME="HTA Test"
SCROLL="no"
SINGLEINSTANCE="yes"
>
</head>
<SCRIPT LANGUAGE="VBScript">
Sub TestSub
Dim Shell
Set Shell = WScript.CreateObject ("WScript.Shell")
Shell.run WScript "cmd /g applStart.sh SetTime.dat Year.Value-Month.Value-Day.Value- Hour.Value-Minute.Value-Second.Value"
Set Shell = Nothing
End Sub
</SCRIPT>
<body>
Type in the date you want to jump to:</br>
<input type="number" name="Day" size="2">
<input type="number" name="Month" size="2">
<input type="number" name="Year" size="4">
<input type="number" name="Hour" size="2">
<input type="number" name="Minute" size="2">
<input type="number" name="Second" size="2">
<input id=runbutton type="button" value="Run Script" name="run_button" onClick="TestSub">
嘿,谢谢快速反应。我已经设法让它运行我想要的一部分.settime.sh的部分实际上是一个腻子的命令,我现在还没有意识到它当我按下运行按钮时,我已经设法让它达到运行putty的程度。现在我需要它用文本框中用户给出的值输入命令。这是我到目前为止所拥有的: HTA测试
<SCRIPT LANGUAGE="VBScript">
Sub RunProgram
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "C:\Users\uidv4860\Desktop\Getlogs\PuTTY\putty.exe -load EOBR"
End Sub
</SCRIPT>
<body>
Type in the date you want to jump to:</br>
Day:
<input type="int" name="fDay" size="2" maxLength="2">
Month:
<input type="int" name="fMonth" size="2" maxLength="2">
Year:
<input type="int" name="fYear" size="4" maxLength="4">
Hour:
<input type="int" name="fHour" size="2" maxLength="2">
Minute:
<input type="int" name="fMinute" size="2" maxLength="2">
Second:
<input type="int" name="fSecond" size="2" maxLength="2">
<button onclick="RunProgram">Run Program</button> <p>
</body>
答案 0 :(得分:1)
Shell.run WScript "cmd /g applStart.sh SetTime.dat Year.Value-Month.Value-Day.Value-Hour.Value-Minute.Value-Second.Value"
我在上述陈述中看到了几个错误:
WScript
。CMD.EXE
没有选项/g
。你的意思是/c
?.sh
是一个通常用于Linux / Unix shell脚本的扩展。 Windows批处理文件的扩展名为.bat
或.cmd
。此外,我将, 0, True
附加到语句中,以便CMD
实例运行隐藏,代码等待外部命令完成。
试试这个:
Shell.run "cmd /c applStart.cmd SetTime.dat " _
& Year.Value & "-" & Month.Value & "-" & Day.Value & "-" _
& Hour.Value & "-" & Minute.Value & "-" & Second.Value, 0, True