|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Время исполнения скрипта |
|
|
VBS/WSH/JS - Время исполнения скрипта
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать Добрый день.
У меня скрипт раскидывает документы по папкам. Подскажите, как сделать чтоб при выполнении скрипта он показывал сколько процедур выполнено или сколько времени осталось до конца или чтоб он сам процесс копирования показывал, типа: 1.txt Ok 2.txt Ok 3.txt Ok и т.д. |
|
Отправлено: 10:04, 31-01-2011 |
Ветеран Сообщения: 1001
|
Профиль | Отправить PM | Цитировать Будет проще подсказать, если вы покажете сам скрипт
|
Отправлено: 10:05, 31-01-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать файлы 1.txt, 2.txt... у вас лежат в одной папке?
И как вы определяете, какой файл нужно копировать, а какой перемещать и в какую папку? |
Отправлено: 10:40, 31-01-2011 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать да, все файлы лежат в одной папке.
Там очень сложная структура и определенные базы копируется в определенную папку, а потом некоторые переносятся в другую. Они очень много весят, есть базы по 1,5 Гиги. Поэтому мне нужно вывести процесс копирования и(или) перемещения. Если тот код упростить, то он выглядит примерно так как я написал выше. |
|
Отправлено: 10:50, 31-01-2011 | #5 |
Ветеран Сообщения: 1001
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать peretc001, «Scripting.FileSystemObject» не позволяет этого сделать (получать прогресс копирования/перемещения), только между операциями. Обходной вариант — копировать/перемещать, например, посредством Проводника (объект «Shell.Application»).
|
Отправлено: 12:00, 31-01-2011 | #7 |
Новый участник Сообщения: 7
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:42, 31-01-2011 | #9 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать жаль, Ivan Bardeen, спасибо Вам за помощь
|
Отправлено: 12:52, 31-01-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Медиа - Задержка исполнения звука. | 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 | |
права для исполнения скрипта | Вебмастеру | 5 | 28-02-2005 19:47 | ||
Измерение времени исполнения | Tushkanidze | Программирование и базы данных | 2 | 05-07-2004 16:01 |
|