HTAファイル内からバッチファイルを起動しようとしています。バッチファイルの起動は適切に(または少なくとも関連するCMDプロンプトで)開始されるように見えますが、バッチは後で約5分かかるはずです。 CMDプロセスが実行されている間、HTAウィンドウが一時停止しているように見え、CMDプロセスが終了するとすぐに閉じます。 HTAに関する他のすべてが適切に機能します。HTA内からバッチファイルを起動
目的は、HTAがバッチファイルをバックグラウンド(非表示)で起動し、バッチファイルが処理中にHTAに影響を与えないことです。バッチファイルが完了して終了すると、HTAはユーザーの情報を含む新しいHTAを起動します。
はここ
<html>
<head>
<style>
body { background:#fff url('../_dependencies/welcome.jpg') no-repeat center center fixed; color:#000; margin:25px; padding:0; }
div#gap { height:306px; }
div#buttons { padding-right:12px; position:absolute; right:0; }
</style>
<title>Installer</title>
<script language="vbscript">
Sub Window_OnLoad
Set Shell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
sPath = Shell.ExpandEnvironmentStrings("%curdir%")
Continue = Chr(34) & sPath & "_install.cmd" & Chr(34)
Shell.Run Continue,0,True
CompName = Shell.ExpandEnvironmentStrings("%computername%")
Const ForAppending = 8
textFile = sPath & "_Logs\" & CompName & ".upgraded.txt"
If Not objFSO.FileExists(textFile) Then
Set objTextFile = objFSO.CreateTextFile(textFile, True)
objTextFile.Close
End If
Set objTextFile = objFSO.opentextfile(textFile,ForAppending)
objTextFile.WriteLine("Upgrade complete on this computer." & vbCrLf & Now())
objTextFile.Close
Set textFile = Nothing
self.close()
End Sub
</script>
<script language="javascript">
window.resizeTo(620,365);
window.moveTo((screen.width-620)/2,(screen.height-365)/2);
</script>
<hta:application applicationname="Installer" border="none" caption="no" id="objnotitlebar" innerborder="no" maximizebutton="no" minimizebutton="no" scroll="no" showintaskbar="no" singleinstance="yes" systemmenu="no">
</head>
<body>
<div id="gap"><img src="../_dependencies/waiting.gif" /></div>
<div id="buttons"></div>
</body>
</html>
'install.cmd'のソースコードも投稿してください。 – Hackoo