如何从HTA文件向同一cmd实例发送多个命令?

如何从HTA文件向同一cmd实例发送多个命令?,cmd,jscript,hta,Cmd,Jscript,Hta,我已经在HTA文件中使用WScript.Shell启动了一个cmd实例。cmd窗口打开,准备接收命令。我如何在那里发送命令 <html> <head> <script language="javascript"> var wsh = new ActiveXObject('WScript.Shell'); var cmd = wsh.Exec("cmd.exe"); function to_cmd(a_command){ cmd.Exec(a_comma

我已经在HTA文件中使用WScript.Shell启动了一个cmd实例。cmd窗口打开,准备接收命令。我如何在那里发送命令

<html>
<head>
<script language="javascript">
var wsh = new ActiveXObject('WScript.Shell');
var cmd = wsh.Exec("cmd.exe");
function to_cmd(a_command){
    cmd.Exec(a_command);
}
</script>
<title>UI</title>
<hta:application id="app">
</head>
<body>
    <input type=button onclick="to_cmd('dir')">
</body>
</html>
是的,此代码包含一个错误,因为我仍然无法找到正确的方法或对象以正确的方式执行此操作

它可以是任何方法,而不仅仅是类似于我的方法。其主要思想是通过单击HTML按钮向同一cmd窗口发送不同的命令


不,我不想直接向shell对象发送单独的命令。

您可以通过直接写入进程StdIn来完成这一点:


我想在这里使用wsh.Run而不是Exec会更容易一些。我不确定Run能解决这个问题。
// Create a shell
var shell = new ActiveXObject('WScript.Shell');

// Open the command prompt with /k flag to keep it open
var cmd = shell.exec('%comspec% /k');

// Method to write to the prompt's StdIn and redirect output to the console
// NOTE: If you want a blank console screen, remove just the ">CON" text
var runCommand = function(command) {
  cmd.StdIn.Write(command + ' >CON\n');
};

// Run a command
runCommand('echo Hello');

// Run another one after 1.5 seconds
setTimeout(function() {
  runCommand('echo World!');
}, 1500);