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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

   

mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Цитата:
чета не припомню чтоб вбс скрипы службами управляли
Напоминаю:
Код:
Set objShellApp = CreateObject("Shell.Application")
Serv = "haspnt"
If objShellApp.ServiceStop(Serv, false) = 0 Then
    MsgBox "НЕ удалось остановить сервис " & Serv & "!", vbInformation
Else
    MsgBox "Сервис " & Serv & " успешно остановлен!", vbInformation
End If
 

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:43 25-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну я не самую удадачную книгу прочитал - краткую. Руководство разработчика на WSH 2.0
остальное надо рыться в справочных руководствах

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:17 25-09-2009
Yuurk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет. Столкнулся с такой задачей: надо записать ADO RecordSet в текстовое поле объекта. Идея такая - через XML.
 

Код:
 
  Set DOM = CreateObject ("MSXML.DOMDocument")    
  Set Reestr = CreateObject ("ADODB.Recordset")
 
  Reestr.Save DOM, 1
  Reestr.Close    
  Reestr.Open DOM.xml
 

 
На Reestr.Open DOM.xml вылетает следующая ошибка:  

Код:
 
ADOB.RecordSet: Connection cannot be used to perfom this operation. It is ether closed or invalid in this context.
 

Всего записей: 4 | Зарегистр. 25-09-2009 | Отправлено: 08:00 26-09-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yuurk
Цитата:
надо записать ADO RecordSet в текстовое поле объекта

Чой то уж очень размазано сформулирована задача. Непонял. А вот тут и тут - все очень понятно.

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:21 26-09-2009
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет.
Помогите написать vbs для запуска по пути:
%windir%\reboot.exe
И такой же, только автоудалением себя.
Заранее спасибо.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3773 | Зарегистр. 15-10-2007 | Отправлено: 00:08 28-09-2009
Yuurk

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

Цитата:
Очень размазано сформулирована задача.

Есть форма, есть соответствующий ей объект.
1. У объекта есть различные поля (атрибуты) ("Дата создания", "ФИО", "Должность" и тд.). Также у этого объекта есть текстовое поле.  
2. На форме есть табличка, ДатаСоурсом у которой выставлен ADO DataSet. В рантайме генерирую RecordSet для того, чтобы подсунуть его в DataSet.  
  Все данные формы надо хранить в 1 объекте. Для того, чтобы хранить динамическую таблицу (набор столбцов всегда различный)  в объекте - использую XML. Записать в поле я могу, а вот считать - не получается. Собсно задача: РекордСет заполнить из XML, созданного им же. Ошибку указал.

Всего записей: 4 | Зарегистр. 25-09-2009 | Отправлено: 06:30 28-09-2009 | Исправлено: Yuurk, 07:03 28-09-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите такой скриптик рассылки файла по сети,, Локальная сеть на 20 компов,,  
 
есть файл D:\reklama.txt ,,,нужно этот файл разослать на все 20 компов в корень  
 
диска D: ,... Возможно ли такое осуществить,,?    

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 11:03 28-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если папки сделать общими не вижу препятствий
для етага должна быть включена служба сервера в системе, расшарить можно в свойствах папки или использовать специальный софт, который еще дополнительный сервис организует делая это все более похожим на фтп.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:10 28-09-2009 | Исправлено: bomzzz, 11:13 28-09-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Да в ручную раскинуть не проблема ,,..дело в автоматизации 20 а если 100 компов ,.проще же запустить скрипт ,,.только написать знаний не хватает в этой области,,.если кому не в напряг черканите на vbs

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 12:09 28-09-2009
bomzzz



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

Цитата:
 
Copy
Синтаксис:  
Copy(<Destination>,<Overwrite>)  
Назначение:  
Копирует файл в указанное место.  
Параметры:  
<Destination> - строка, путь (куда копировать).
<Overwrite> - необязательный, булево (число). Заменять файл, если он существует (True), или нет (False).
Описание:  
Без комментариев.  
Пример:  
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
File.Copy "D:\"
File.Copy "D:\Copy of autoexec.bat"
 

путь - путь к папке

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:29 28-09-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
НЕНЕ не этот скрипт нужен копирывать с Д диска на С .,,,,, есть локальная сеть 20 машин  на каждой открыт полеый доступ на запись файлов, 3 диска  С D E,,. и всё больше ничё не извесно ни айпи ни название компа в сети ,,,,скрип должен сам сканировать сеть на наличие машины и записывать на С диск файл reklama.txt ,,вот как всё непросто(

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 13:09 28-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну так перебери все ип из диапазона - в сети 20 машин значит всего 255 вариантов

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:22 28-09-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а разве 255.,,,
192.168.111.122 думаю всё же их больше , в разы,,,,,,,,, я 0 в vbs,,.  
 
Вот что я нарыл только не всё работает,.. нужно исправить что -то
 
Название темы звучало так  "Перебор компьютеров в лок. сети через "Сетевое окружение""  
В конце работы скрипта появляются имена локальных компов "Comp1", "Comp2" домены их,,,,,,,может это возможно использывать ,,,,,,. скрипт работает около 40 сек то есть идёт сканирование! ,,,то есть домен есть осталось проверить диски на разрешение копирывания в данном домене,,,. или автоматом делать копирывание файла на диски и где есть доступ файл скопируется...  

Код:
Set Shell = CreateObject("Shell.Application")  
'получение папки "Сетевое окружение"  
Set objFolder = Shell.NameSpace("::{208D2C60-3AEA-1069-A2D7-08002B30309D}")  
'получение папки "Вся сеть"  
Set objFolder = objFolder.Items().Item("EntireNetwork").GetFolder  
'получение папки "Microsoft Windows Network"  
For Each objItem In objFolder.Items()  
    If objItem.Name = "Microsoft Windows Network" Then  
        Set objFolderNetwork = objItem.GetFolder  
    End If  
Next  
'перебор доменов и рабочих групп  
For Each objItem In objFolderNetwork.Items()  
    If objItem.IsFolder Then  
        Set objFolder = objItem.GetFolder  
        'перебор компьютеров  
        For Each objSubItem In objFolder.Items()  
            WScript.Echo objSubItem.Name  
        Next  
    End If  
Next

 
При запуске скрипта файл reklama.txt копируется на дист С и на этом работа скрипта заканчивается,. а сканирование сети и получение ип адреса,, работа долгая)),,  

Код:
 
set objwmi = getobject("winmgmts:\\.\root\cimv2")  
set ips = objwmi.execquery _  
    ("select * from win32_networkadapterconfiguration where ipenabled=true")  
    set fso = createobject("scripting.filesystemobject")  
for each ip in ips  
    if not isnull(ip.ipaddress) then    
        for i=lbound(ip.ipaddress) to ubound(ip.ipaddress)  
            fso.copyfile "D:\reklama.txt", "\\" & ip.ipaddress(i) & "\c$\"  
        next  
    end if  
next
 

 
А вот всё подкорректировать и объединить никак не выходит

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 13:35 28-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если у тебя болванка есть наверняка кто то поможет.  
вариантов конечно гораздо больше  
10.168.0-255.0-255 192.168.0-255.0-255  
и еще есть адреса зарезервированные под локальные с 172 кажется. но так как сеть всего из 20 компов - заивист конечно от того как она построена.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:19 28-09-2009
Yuurk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просто Reestr.open DOM надо было(

Всего записей: 4 | Зарегистр. 25-09-2009 | Отправлено: 14:39 28-09-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Первый скрипт сканирует всё ок выдаёт имена машин "Dima" "MAX"
 
А вот как его дальше применить типа Dima\\C: D: и загнать в скрипт, а само копирывание  файла вроде просто,, если путь есть,, задавать нефиксированно ,,но как это всё ОБЪЕДИНИТЬ в одно хз.,.  
 
Yuurk
 
А что про это поподробнее можешь "Reestr.open DOM"

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 15:06 28-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
полно всяких прог для администрирования локальной сети, сразу со сканированием, массовой рассылкой и прочими наворотами. конкретно какие уже не помню - провайдера давно сменил у которого широко использовались эти вещи.
 
я эти функции вбс не использовал и у нас в сетке нету "общих ресурсов" проверить не на чем. у нас п2п и фтп. так что ничего не могу сказать по этому поводу.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:08 28-09-2009 | Исправлено: bomzzz, 15:10 28-09-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
 
С прогами то понятно что они есть всякие,,,. но тут дело не в прогах,,.. нужно всё по тихому делать 2 файла 1vbs и reklama.txt ,,.и всё без лишнего софта,.. типа пришёл увидел разослал 1 нажатием ENTERa )))
 
Лан ждём у кого повыше познания в VBS

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 15:32 28-09-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TYMAH3003
Проще батником все сделать. Если этот скриптик у тебя нормально отрабатывает, то воткнуть в него копирование - пара пустяков.
Можно, конечно, и на VBS/JS переписать, но смысл не поменяется - только кода будет больше.
 
Yuurk
Это - взрослый вопрос. А форум, в основном - детский. Думаю что тут побыстрее ответят.
 

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 22:13 28-09-2009
Starley25



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, нвоял скриптик, который по сути дела вычленяет последнюю строку из фйла и проверяет наличие в строке фразы YES, так вот вопрос каким образом можно реализовать подсчет количества этих YES в строке? (он кстиати еще считает количество строк в файле).
Код:
Dim filesys, readfile, contents, linumber, Fined
Set filesys = CreateObject ("Scripting.FileSystemObject")
Set readfile = filesys.OpenTextFile("c:\SecEvtLog.log", 1, False)
Fined = "YES"
filesys = FreeFile
Do While readfile.AtEndOfStream <> true
contents = readfile.ReadLine
linumber = readfile.Line
Loop
readfile.Close
        If InStr(1, contents, Fined, vbTextCompare) Then
            WScript.Echo "Фраза [" & Fined & "] найдена в строке"
        Else
            WScript.Echo "Фраза [" & Fined & "] не найдена в строке"
        End If

Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 10:55 30-09-2009 | Исправлено: Starley25, 10:57 30-09-2009
   

Страницы: 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