Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Время исполнения скрипта

Ответить
Настройки темы
VBS/WSH/JS - Время исполнения скрипта

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день.

У меня скрипт раскидывает документы по папкам. Подскажите, как сделать чтоб при выполнении скрипта он показывал сколько процедур выполнено или сколько времени осталось до конца или чтоб он сам процесс копирования показывал, типа:

1.txt Ok
2.txt Ok
3.txt Ok

и т.д.

Отправлено: 10:04, 31-01-2011

 

Ветеран


Сообщения: 1001
Благодарности: 226

Профиль | Отправить PM | Цитировать


Будет проще подсказать, если вы покажете сам скрипт

Отправлено: 10:05, 31-01-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
On Error Resume Next

Set FSO   = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("WScript.Shell")

If Not FSO.FolderExists("1") Then											
	FSO.CreateFolder("1")	
	FSO.CreateFolder("1\2")
End If

Const OverwriteExisting = True
Set FSO = CreateObject("Scripting.FileSystemObject")

FSO.MoveFile "1.txt" , "1\"									' перемещаем '
FSO.CopyFile "2.txt" , "1", 								        OverwriteExisting
FSO.MoveFile "2.txt" , "1\2\"									' перемещаем '
FSO.MoveFile "3.txt" , "1\"									' перемещаем '
FSO.MoveFile "4.txt" , "1\"									' перемещаем '


WScript.Echo "Распределение завершено!" 

Set Shell = Nothing
Set FSO   = Nothing

WScript.Quit

Последний раз редактировалось peretc001, 31-01-2011 в 10:52.


Отправлено: 10:26, 31-01-2011 | #3


Ветеран


Сообщения: 1001
Благодарности: 226

Профиль | Отправить PM | Цитировать


файлы 1.txt, 2.txt... у вас лежат в одной папке?
И как вы определяете, какой файл нужно копировать, а какой перемещать и в какую папку?

Отправлено: 10:40, 31-01-2011 | #4


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


да, все файлы лежат в одной папке.

Там очень сложная структура и определенные базы копируется в определенную папку, а потом некоторые переносятся в другую. Они очень много весят, есть базы по 1,5 Гиги. Поэтому мне нужно вывести процесс копирования и(или) перемещения.

Если тот код упростить, то он выглядит примерно так как я написал выше.

Отправлено: 10:50, 31-01-2011 | #5


Ветеран


Сообщения: 1001
Благодарности: 226

Профиль | Отправить PM | Цитировать


Тогда добавьте конструцию, которую я привожу для каждой операции над файлом (Выделено жирным).
Она будет вести лог для каждой операции над файлом и записывать его в c:\temp\logtest.txt
Код: Выделить весь код
On Error Resume Next
Const ForAppend = 8

Set FSO   = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("WScript.Shell")

If Not FSO.FolderExists("1") Then											
	FSO.CreateFolder("1")	
	FSO.CreateFolder("1\2")
End If

Const OverwriteExisting = True
Set FOut = fso.OpenTextFile("c:\temp\logtest.txt",ForAppend,True)

FSO.MoveFile "1.txt" , "1\"		
If Err.Number <> 0 Then
text = "Ошибка:" & " " & Err.Number & " " & "Описание:" & " " & Err.Description & " " & "При операции над файлом: 1.txt"
FOut.WriteLine Text
Else 
text = "Операция над файлом 1.txt прошла успешно" 
FOut.WriteLine Text
End If
FSO.CopyFile "2.txt" , "1",OverwriteExisting
FSO.MoveFile "2.txt" , "1\2\"									
FSO.MoveFile "3.txt" , "1\"									
FSO.MoveFile "4.txt" , "1\"									


WScript.Echo "Распределение завершено" 

Set Shell = Nothing
Set FSO   = Nothing

WScript.Quit

Отправлено: 11:49, 31-01-2011 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


peretc001, «Scripting.FileSystemObject» не позволяет этого сделать (получать прогресс копирования/перемещения), только между операциями. Обходной вариант — копировать/перемещать, например, посредством Проводника (объект «Shell.Application»).

Отправлено: 12:00, 31-01-2011 | #7


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ivan Bardeen, у меня очегь много файлов, порядка 200, это мне после каждого нужно написать?

Код: Выделить весь код
If Err.Number <> 0 Then
text = "Ошибка:" & " " & Err.Number & " " & "Описание:" & " " & Err.Description & " " & "При операции над файлом: 1.txt"
FOut.WriteLine Text
Else 
text = "Операция над файлом 1.txt прошла успешно" 
FOut.WriteLine Text
End If
И этот метод, я так понял, не показывает сам процесс копирования.



Iska, а как использовать Shell.Application? Если я просто поменяю Scripting.FileSystemObject на Shell.Application, будет работать? Вы можете показать на примере скрипта что поменять?

Отправлено: 12:19, 31-01-2011 | #8


Ветеран


Сообщения: 1001
Благодарности: 226

Профиль | Отправить PM | Цитировать


Цитата peretc001:
Ivan Bardeen, у меня очегь много файлов, порядка 200, это мне после каждого нужно написать? »
Да, после каждого
Цитата peretc001:
И этот метод, я так понял, не показывает сам процесс копирования. »
Не показывает, только ведет лог.

Отправлено: 12:42, 31-01-2011 | #9


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


жаль, Ivan Bardeen, спасибо Вам за помощь

Отправлено: 12:52, 31-01-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Время исполнения скрипта

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Медиа - Задержка исполнения звука. zhunko Microsoft Windows Vista 0 05-10-2009 01:00
Как уменьшить время работы php скрипта? buhanov Вебмастеру 5 15-08-2008 22:21
Измерение времени исполнения функции marine Программирование и базы данных 4 02-07-2008 18:44
права для исполнения скрипта E-mail Вебмастеру 5 28-02-2005 19:47
Измерение времени исполнения Tushkanidze Программирование и базы данных 2 05-07-2004 16:01




 
Переход