复制文件夹VBS上的进度条

时间:2015-07-21 20:06:02

标签: javascript css vbscript progress-bar hta

我使用以下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()">&nbsp&nbsp<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>

我真的希望有人在这里可以看到一个简单的方法来显示使用进度条。这是我完成脚本的最后一步,所以如果有人可以帮助我,我会很高兴。

感谢阅读!

0 个答案:

没有答案