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