【发布时间】:2017-03-30 21:45:03
【问题描述】:
我正在尝试编写一个批处理 + hta 混合脚本,它允许我将变量从脚本的批处理部分传递到 hta 部分,这样我就可以生成计算机型号等内容。
这是我目前所拥有的 - 批次:
<!-- :: Batch section
@echo off
Pushd "%~dp0"
setlocal
FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Model /value') do SET model=%%A
for /F "delims=" %%a in ('mshta.exe "%~F0" "%model%"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
goto :EOF
-->
如您所见,我尝试使用 %model% 作为参数,并尝试在我的 VBScript 部分中使用 arg1 来尝试使用该变量 - 但它不起作用。
所以在我的 hta 部分,这是我的 vbscript:
<script language="VBScript">
MsgBox arg1
</script>
这只是打开一个空盒子。
我一直在网上搜索一段时间,试图找出一种方法来做到这一点,但我无法弄清楚。我之前解决这个问题的方法基本上是创建一个批处理脚本,该脚本会创建一个新文件,即 hta 和批处理混合文件,但为了简单起见,我想避免这样做。
任何帮助将不胜感激
【问题讨论】:
标签: batch-file vbscript cmd hta