我使用以下HTA使用VBScript将文件夹从一个源文件夹复制到目标文件夹。我还有一个用CSS和JavaScript制作的进度条,用于显示进度。该脚本正在成功复制文件夹,但我还没有找到显示进度的方法。
我需要找到一种方法来在复制文件夹时显示进度条中的实际进度。我已尝试使用语句For Each File In Folder
的各种方法,但没有运气。
我知道还有其他方法可以显示进度条,即Windows进度条,但我想使用自己的进度条。
以下代码示例位于一个HTA中,但为了更好地概述,我将这些代码分开。希望有所帮助。
以下代码是实际复制文件夹VBScript:
<script language="vbscript">
Sub Setup
Dim FSO, NewFile, ThisFile
Set FSO = CreateObject("Scripting.FileSystemObject")
FolderDir = FSO.GetFolder("..\")
dim WSHShell, desktop, pathstring, objFSO
set objFSO = CreateObject("Scripting.FileSystemObject")
Set WSHshell = CreateObject("WScript.Shell")
desktop = WSHShell.SpecialFolders("Desktop")
Destination = objFSO.GetAbsolutePathName(desktop)
Source = "C:\Test\Source"
FSO.CopyFolder ""&Source&"", ""&Destination&"\", True
End Sub
Sub CloseApp
Self.Close
End Sub
</script>
复制脚本由HTA脚本中的图像上的onClick触发:
<HTA:APPLICATION ApplicationName="UPDATE" CAPTION="NO" SCROLL="NO" INNERBORDER="NO" SINGLEINSTANCE="YES" ICON="../images/icon_64.ico" ShowInTaskbar="YES">
<body onload="progressbar(100,75);">
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td id="top_bar" height="25" width="100%" align="center">INSTALLATION</td>
</tr>
<tr>
<td align="center">
<br>
<b>Do you want to install the program?</b><br>
<br>
<div style="width:150px">
<div id="slider" align="left">
<div id="sliderbar" ></div>
<div id="progress" align="center"></div>
</div>
</div>
<br>
<img src="../images/installer.png" onclick="Setup()">  <img src="../images/afslut.png" onclick="CloseApp()">
<br>
</td>
</tr>
</table>
</script>
</body>
此外,我有一个进度条,它是用CSS和JavaScript制作的:
<style>
#slider{
width:100%;
height:12px;
border:1px solid #000;
overflow:hidden;
background: #FFF;
}
#sliderbar{
width:37%;
height:12px;
border-right: 1px solid #000;
background-color: #66FF33;
}
#progress {
font-family: Arial;
font-size: 10px;
font-weight: bold;
position: relative;
top: -15px;
}
</style>
<script language="JavaScript">
function progressbar(XX, YY){
var progress=Math.round((YY*100)/XX);
document.getElementById("sliderbar").style.width=progress+'%';
document.getElementById("progress").innerHTML=progress+'%';
document.title = progress+'% Installed';
}
</script>
我真的希望有人在这里可以看到一个简单的方法来显示使用进度条。这是我完成脚本的最后一步,所以如果有人可以帮助我,我会很高兴。
感谢阅读!