Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

piratiK

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо
Буду пробовать
 
Добавлено:
Все работает. Как раз то что надо!
Вот еще хотел спросить кто в чем хранит исходники?

Всего записей: 29 | Зарегистр. 03-10-2004 | Отправлено: 16:53 18-10-2008
Nikkolo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR
Спасибо за помощь.
Теперь о скрипте - он все равно открывет откна (вкладки) IE.
 
Я нашел в этой теме ранее скрипт на закачку файла. Порезал его и он работает так как мне надо.
Вот урезанная версия (работает):
 

Код:
 
sSource = "http://ссылка"  
set oHTTP = CreateObject("Microsoft.XMLHTTP")  
oHTTP.open "GET", sSource, False  
oHTTP.send
set oHTTP = nothing  
 

 
Вставляю это в код с таймером
 

Код:
 
iPeriod = 5
sSource = "http://ссылка"  
 
iTimer = Timer  
 
While 1  
    WScript.Sleep 1000  
     
    If (Timer - iTimer) >= (iPeriod * 60) Then  
set oHTTP = CreateObject("Microsoft.XMLHTTP")  
oHTTP.open "GET", sSource, False  
oHTTP.send
set oHTTP = nothing  
        iTimer = Timer  
    End If  
WEnd
 

 
Не работает.

Всего записей: 134 | Зарегистр. 14-12-2006 | Отправлено: 07:39 19-10-2008
EyeFey



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите написать скрипт, который бы перезапускал указанную программы при смене IP-адреса (у меня динамический внешний IP, поэтому может меняться чуть ли не 3-4 раза в сутки)

Всего записей: 32 | Зарегистр. 20-02-2007 | Отправлено: 10:42 19-10-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nikkolo 07:39 19-10-2008
Цитата:
 он все равно открывет откна (вкладки) IE

Попробуй заменить в IECreate(sURL, 0, 1, 1) 0 на False а 1 на True.
 

Цитата:
Не работает

А так:
 

Код:
Set oHTTP = WScript.CreateObject("Microsoft.XMLHTTP")
 
iPeriod = 5
sSource = "http://ссылка"
 
iTimer = Timer
 
While 1
    WScript.Sleep 1000
    
    If (Timer - iTimer) >= (iPeriod * 60) Then
        oHTTP.open "GET", sSource, False
        oHTTP.send
        iTimer = Timer
    End If
WEnd

 
?

 
А может вместо «Microsoft.XMLHTTP» лучше использовать объект «winhttp.winhttprequest.5.1»?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:31 19-10-2008
Igor_V_Mitichev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я в программировании не силен, но может у кого есть готовый скриптик...
 
Суть вот в чем: требуется пройтись по дереву каталогов и в этом дереве удалить пустые папки (то есть те, в которых нет файлов). Понятное дело, что если в каталоге нет файла, но у него есть нижележащие каталоги, в которых есть файлы, то их удалять не надо.
 
Уж больно пользователи сетевые шары засоряют. И если с удалением "протухших" файлов я справился посредством bat, то вот с удалением опустевших каталогов как-то пока не знаю чего делать...

Всего записей: 32 | Зарегистр. 26-07-2008 | Отправлено: 12:51 20-10-2008
Nikkolo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.
Из всех вариантов рабочий оказался следующий.
 

Код:
 
Set oHTTP = WScript.CreateObject("winhttp.winhttprequest.5.1")  
 
iPeriod = 5
sSource = "http://ссылка.php"  
 
iTimer = Timer  
 
While 1  
    WScript.Sleep 1000  
     
    If (Timer - iTimer) >= (iPeriod * 60) Then  
        oHTTP.open "GET", sSource, False  
        oHTTP.send  
        iTimer = Timer  
    End If  
WEnd  
 

 
Каждые 5 минут мой "ссылка.php" исправно перезаписывает на сервере файлш с текущим IP компа с которого был запущен скрипт. Всё работает! Окна не плодятся. Работа скрипта не видна нигде кроме Диспетчера задач. Комп не тормозит.
 
Самое приятное, что теперь не нужен ни nncron ни z-cron.
 
P.S.
Единственный остался вопрос. Объект "winhttp.winhttprequest.5.1" - присутствует ли в любой, даже "голой" XP и Vista? Не окажется ли так что на одной Windows скрипт будет работать а на другой будет ругаться что не найден объект?
 
P.S.2
Все таки всё не так хорошо. Скрипт вылетает после ухода компа на спящий режим или при отключении-подключении к сети. nncron к примеру работет даже при окне приветствия и не залогиненом юзере.

Всего записей: 134 | Зарегистр. 14-12-2006 | Отправлено: 12:59 20-10-2008 | Исправлено: Nikkolo, 14:34 20-10-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Igor_V_Mitichev

Цитата:
И если с удалением "протухших" файлов я справился посредством bat,

туда же в батник добавь команду "rmempty \\comp\share"
rmempty.exe тут http://www.otbsw.com/ в архиве rmemp12.zip(36кб)

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 13:09 20-10-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nikkolo 12:59 20-10-2008
Цитата:
Объект "winhttp.winhttprequest.5.1" - присутствует ли в любой, даже "голой" XP и Vista?

Судя по MSDN, поддерживается на Win 2000/Server 2003/XP, но полагаю что и на Vista не прекратили его подержку.
 

Цитата:
Скрипт вылетает после ухода компа на спящий режим или при отключении-подключении к сети

Что значит вылетает? выдаётся сообщение об ошибке? (какое?).

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:16 20-10-2008
Nikkolo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
но полагаю что и на Vista не прекратили его подержку

На моей Vista 64 - работает, но она никак не "голая".
 

Цитата:
Что значит вылетает? выдаётся сообщение об ошибке? (какое?).

При уходе на спящий режим пишет, что "Сервер вернул недопустимы или неразспознанный ответ"
 
При разрыве связи пишет что "Не удается разрешить имя или адрес сервера"
 
В обоих случаях wscript.exe пропадает из списка процессов. Соответственно после восстановления связи (возврата из спящего режима) проверка ссылки уже не происходит.
Может on error goto... только где? Или проверку соединения?
 
P.S.(добавлено позже)
 
вот этот вариант работает и со спящим режимом и с реконнектом (продолжает работать после реконнекта)  
 

Код:
 
Set oHTTP = WScript.CreateObject("winhttp.winhttprequest.5.1")  
 
iPeriod = 5
sSource = "http://ссылка.php"  
 
iTimer = Timer  
 
While 1  
    WScript.Sleep 1000  
     
    If (Timer - iTimer) >= (iPeriod * 60) Then  
on error resume next
        oHTTP.open "GET", sSource, False  
        oHTTP.send  
        iTimer = Timer  
    End If  
WEnd  
 

 
Осталось последнее найти - работа при незалогиненном ни одном юзере (окне приветствия). Первое что приходит в голову - запуск скрипта не в HKCU а в HKLM - ?

Всего записей: 134 | Зарегистр. 14-12-2006 | Отправлено: 12:10 21-10-2008 | Исправлено: Nikkolo, 16:32 21-10-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nikkolo 12:10 21-10-2008
Цитата:
вот этот вариант работает

On Error Resume Next желательно ставить в начале скрипта а не в условии/цикле.
Также можно ещё проверять ошибку перед Send...
 

Код:
oHTTP.open "GET", sSource, False
If Not Error Then oHTTP.send

 

Цитата:
работа при незалогиненном ни одном юзере

При запуске системы? в автозапуск тогда лучше поместить (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run).

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 20:26 21-10-2008
monsoon



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Igor_V_Mitichev

Цитата:
И если с удалением "протухших" файлов я справился посредством bat, то вот с удалением опустевших каталогов как-то пока не знаю чего делать...

немного оффтоп, но c этим батник тоже справляется:

Код:
for  /D  %%a  in  (*.*) do  cd  "\%%a"  &  call  :subroutine
goto :eof
 
:subroutine
dir  /s  /b  /ad  |  sort  /R  > c:\tree.txt
for  /F  %%a  in  (c:\tree.txt)  do  rd  "%%a"

В начале батника укажи начальный путь, иначе будет пытаться чистить с места запуска.

Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 14:58 22-10-2008
niki11

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плз, а как мне запустить какой-то файл-программу?
насколько я понимаю вот так правильно?
 
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Exec "C:\Program Files\WinRAR\WinRAR.exe"
 
а теперь два уточнения - а как мне запустить эту программу с параметрами? и как запустить эту программу от имени определенного пользователя, т.е. с определенным логином и паролем? Что-то вроде Run As...
 
Спасибо!

Всего записей: 11 | Зарегистр. 11-04-2007 | Отправлено: 18:10 22-10-2008
Starley25



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа!
Просьба имеется. Никто не поможет в написании скрипта по такой вот задачке. Необходимо с одного компа проверять скажем наличие некоего файла на другом, причем с измерением времени выполнения проверки (для оценки работы сетевого оборудовани), ну или копирование некоего файла на другой комп (посоянного, то есть если этот файл уже есть, то его удаляем и поверх записываем тот же) с измерением времени выполнения.
 
С уважением Starley25.

Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 02:31 26-10-2008
Dis74



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите со скриптом, нужно послать нажатие кнопки "С" процессу Winamp.exe без его активации. ну или чтобы потом вернуть фокус обратно окну которое было активно до нажатия.

Всего записей: 171 | Зарегистр. 12-11-2007 | Отправлено: 12:20 28-10-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dis74 12:20 28-10-2008
Цитата:
 нужно послать нажатие кнопки "С" процессу Winamp.exe

Эта задача не для vbs, см AutoIt. Я кстати на предыдущих страницах оставлял dll'ку для работы с AutoIt'ом через vbs скрипты.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 14:34 28-10-2008
Dis74



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Эта задача не для vbs, см AutoIt. Я кстати на предыдущих страницах оставлял dll'ку для работы с AutoIt'ом через vbs скрипты.

как я понял AutoIt требует усновки, вобещм то хотелось универсальный вариант. так то могу и на ннкроне сделать. спасибо.

Всего записей: 171 | Зарегистр. 12-11-2007 | Отправлено: 16:28 28-10-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dis74 16:28 28-10-2008
Цитата:
AutoIt требует усновки

Ну да, но там можно скомпилировать скрипт в exe'шник
А с Dll'кой не нужно ставить аутоит.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:08 28-10-2008
VedunO



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dis74

Цитата:
AutoIt требует усновки

 
только в первый раз
следующий раз можно просто копировать папку с установленым AutoIt куда нужно.

Всего записей: 568 | Зарегистр. 13-01-2005 | Отправлено: 22:28 29-10-2008
OneHunt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, кто-нибудь решал задачу проверки компутера пользователя при регистрации в домене? Т.е., задача такая: при регистрации пользователя в домене, проверить компутер с которого происходит регистрация принадлежит домену или нет. Если нет, то логОФФ.

Всего записей: 626 | Зарегистр. 24-10-2007 | Отправлено: 17:25 05-11-2008
azamapendrus



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, как написать скрипт.
В одной папке находятся десять ехе-файлов. Мне нужно, чтобы скрипт запускал по 2 программы (.exe) одновременно(или можно с небольшой паузой), далее они выполняют работу , а после выполнения работы (выключаются они сами ) должны включиться следующие две и.т.д. И после завершении работы последней пары должно произойти выключение компьютера.
Мне необходимо, чтобы это было без моего контроля, т.е запустил скрипт и вё пошло полным автоматом.

Всего записей: 19 | Зарегистр. 24-08-2008 | Отправлено: 16:47 06-11-2008 | Исправлено: azamapendrus, 19:35 06-11-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru