如何从 HTA 文件向同一个 cmd 实例发送多个命令?
How can I send several commands to the same cmd instance from HTA file?
我在 HTA 文件中使用 WScript.Shell 启动了一个 cmd 实例。 cmd window 已打开并准备接收命令。我怎样才能在那里发送命令?
<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 window 发送不同的命令。
不,我不想直接向 shell 对象发送单独的命令。
您可以通过直接写入进程来完成此操作 StdIn
:
// 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);
我在 HTA 文件中使用 WScript.Shell 启动了一个 cmd 实例。 cmd window 已打开并准备接收命令。我怎样才能在那里发送命令?
<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 window 发送不同的命令。
不,我不想直接向 shell 对象发送单独的命令。
您可以通过直接写入进程来完成此操作 StdIn
:
// 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);