【问题标题】:How to run CMD commands one by one in HTA如何在 HTA 中一一运行 CMD 命令
【发布时间】:2018-08-20 19:16:47
【问题描述】:

我正在尝试在我的 HTA 文件中一一运行以下 Win CMD 命令

<script>
var WShell = new ActiveXObject('WScript.Shell');
WShell.run('cmd /c "cd C:\\Users\\Username\\myFolder && mkdir mySubfolder"');
</script>

此代码在我的 HTA 文件所在的文件夹内创建了一个子文件夹 mySubfolder。但我需要转到特定文件夹 C:/Users/Username/myFolder 并在该文件夹内做一些事情,例如创建一个子文件夹,即第二个命令依赖于第一个。

我该怎么做?

【问题讨论】:

  • 你在说什么变量?我的问题是关于两个 CMD 命令,与您关于变量的链接无关,并且再次与我关于下载文件的问题不同
  • 可变评论是我混淆了两个不同的问题,我很抱歉。
  • 为什么不直接调用呢? mkdir C:\\Users\\Username\\myFolder\\mySubfolder"');
  • 这只是一个例子。实际上我想用 HTA 运行 nodejs,比如cd project &amp;&amp; node test.js
  • 好的,在这种情况下this might help。您需要cmd /k 而不是cmd /c,您不希望它在运行第一个命令后终止,而是希望它返回命令提示符并执行下一个命令。

标签: cmd activex wsh jscript hta


【解决方案1】:

由于您的问题似乎更多是运行具有特定工作目录的程序,而不是在同一 cmd 上下文中真正运行多个命令(为此,我将所有命令放在 cmd 脚本中并从 hta 运行该脚本),我建议您在运行命令之前指定工作目录:

<script>
var WShell = new ActiveXObject('WScript.Shell');
WShell.CurrentDirectory = 'C:\\Users\\Username\\myFolder';
WShell.run('cmd /c mkdir mySubfolder');
</script>

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2011-12-24
    • 2012-04-10
    • 2023-04-06
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多