Dim fullName, myFSObj, pntFolder, curFolder, strComputer
Wscript.Echo "Идёт чтение данных."
strComputer = "."
fullName = "d:\temp\"
Set myFSObj = CreateObject("Scripting.FileSystemObject")
Set pntFolder = myFSObj.GetFolder(fullName)
For Each curFolder In pntFolder.SubFolders
Wscript.StdOut.Write(".")
Next
Wscript.StdOut.WriteLine
Wscript.Echo "Готово."
ProgressBar или что нибудь подобное в VBS
Существует некое приложение, использующее WS в качестве расширения. На VBS реализован механизм замещения данных. Процесс довольно длительный и хотелось бы привинтить к скрипту какой-нибудь индикатор прогресса. Может быть кто-то сталкивался с подобной проблемой?
Цитата:
Originally posted by honeybeer
Существует некое приложение, использующее WS в качестве расширения. На VBS реализован механизм замещения данных. Процесс довольно длительный и хотелось бы привинтить к скрипту какой-нибудь индикатор прогресса. Может быть кто-то сталкивался с подобной проблемой?
Существует некое приложение, использующее WS в качестве расширения. На VBS реализован механизм замещения данных. Процесс довольно длительный и хотелось бы привинтить к скрипту какой-нибудь индикатор прогресса. Может быть кто-то сталкивался с подобной проблемой?
Если запуск сценария выполняется из командной строки, то можно попробовать использовать вот этот пример:
Код:
Собственно индикатор заключается в операторе цикла:
Код:
For Each <...> In <...>
Wscript.StdOut.Write(".")
Next
Wscript.StdOut.Write(".")
Next
Цитата:
Originally posted by Dmitrii
Если запуск сценария выполняется из командной строки...
<skipped>
Если запуск сценария выполняется из командной строки...
<skipped>
Увы, сценарий выполняется не с консоли. А в контексте гуевого приложения, которое использует VBS как расширение.
Цитата:
Originally posted by honeybeer
Увы, сценарий выполняется не с консоли. А в контексте гуевого приложения, которое использует VBS как расширение.
Увы, сценарий выполняется не с консоли. А в контексте гуевого приложения, которое использует VBS как расширение.
Понятно.
А может это приложение вызвать окошко IE?
Дело в том, что в HTML-сраницу можно встроить элемент ActveX, именуемый Microsoft ProgressBar Control x.x (x.x - версия "контрола").
Я пробовал, встраивается нормально. Вот только управлять им пока не научился.
Прикрепляю пример HTML-страницы с таким элементом.
honeybeer, задача ещё актуальна?
Если - "да", то посмотрите вот этот пример сценария:
Код:
Const PARAM_DIALOG = 0
ParentFolder = "D:\"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder)
objFolder.CopyHere "C:\Data", PARAM_DIALOG
ParentFolder = "D:\"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder)
objFolder.CopyHere "C:\Data", PARAM_DIALOG
Кажется, это то, что Вам было надо.
Подробности можно найти в MSDN по ключу [color=blue]CopyHere[/color]