Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование "удобняшек" на VBScript

Автор: Cyril Konst
Дата сообщения: 07.06.2008 10:24
ViSiToR
В select поля прописываются!
А Нужно выбрать последнее(первое) СОБЫТИЕ (с заданными характеристиками).
Событий много.
Автор: JKLSJDLGK
Дата сообщения: 10.06.2008 10:40
Подскажите пожалуйста,есть скрипт который создает папку по системной дате, MD D:\папка\%date:~3%\ ,на виндовс 2000 работает нормально,а на 2003-м создает только месяц и год,как исправить???
Автор: VV189
Дата сообщения: 11.06.2008 08:36
Возможно ли реализовать на VBS такую вещь - есть веб страница, отобразить из котрой нужно только несколько блоков, я думаю, сделать можно по принципу - скачать в файл-> вырезать по шаблону тегов например все лишнее-> открыть ?

Варианты с написанием фильтра для прксимитрона не подходят по причине оформления всего этого в отдельное небольшое приложение, типа минибраузера открывающего только одну страницу.

Какие мысли?
Автор: mozers
Дата сообщения: 11.06.2008 11:50
JKLSJDLGK
То, что приведено - строчка из пакетника. Вопросы по ним - тут.
На VBS все решается с помощью функции Date (примеры есть в любом справочнике).

VV189
Все абсолютно правильно излагаешь. По такому принципу было когда то наделано бешенное количество панелей.

Цитата:
оформления всего этого в отдельное небольшое приложение, типа минибраузера открывающего только одну страницу
Ну так дай файлу расширение не html, а hta и все
Подробности о HTML приложениях (HTA) можно прочитать тут.
Автор: VV189
Дата сообщения: 11.06.2008 18:49
За hta спасиб, полезная весчь )
А вот по части основного вопроса я не доехал что-то ( панели смотрел, но реализацию какую хотел сделать - там не особо понял )...
На конкретном примере можно в двух словах?
Автор: mozers
Дата сообщения: 11.06.2008 23:20
VV189
Цитата:
А вот по части основного вопроса
А в чем вопрос?
Ты же сам все ответил (сохранить страницу, вырезать лишнее). Собственно - все! Переименуй в hta и пользуйся в свое удовольствие. Чего еще объяснять то???
Если страница использует скрипт и по нему имеются конкретные вопросы - то вопрос в тему. Остальное - оффтоп.
Автор: AlessTO
Дата сообщения: 12.06.2008 01:45
Привет.
Можно ли при помощи vbs поменять дату создания папки? Если есть решение пните, плиз, в нужном направлении.
Автор: mozers
Дата сообщения: 12.06.2008 14:14
AlessTO
При помощи скрипта, увы, нельзя
Для изменения дат (создания/изменения/доступа) файла существует достаточно много утилит. (я как то пользовал setdate). С датой каталогов - сложнее (утилит меньше и все - платные). Вот, например, такая.

Добавлено:
Вот тут igor_andreev меня поправил (я отвечал на такой же вопрос, прозвучавший в другом топике) и дал ссылку на пару бесплатных утилит
Автор: VV189
Дата сообщения: 13.06.2008 15:15
Проблема-то вот в чём - часть скрипта для сохранения страницы написана и работает, но в оффлайне она отображается совсем по другому, даже если через браузер сохранять (т.е. со скриптом все в порядке), а в mht скриптом я сохранять её не умею, но только так она отображается корректно...
И вторая проблема по "вырезать все лишнее", не знаю как оформить скрипт, может поделишься ссылочками на статьи по этому делу, или пример скрипта приведи плиз.
Автор: axit
Дата сообщения: 19.06.2008 10:23
Люди, поможите плиз.
Нужно перенести код батника в VBS
Сам, к сожалению не пишу на VBS
Вот сам код

\\server\everest\everest.exe /R \\server\everest\reports\$hostname_$DATE_$IPADDR /INI /HW /silent /safe
Автор: SergBSI
Дата сообщения: 25.06.2008 22:02
дайте ссылку на работу из VBS с SQL Server плз
Автор: ChevovekM
Дата сообщения: 26.06.2008 08:25
Добрый день. Если не сложно помогите с вопросом скрипт позволяет удалять cokkies перед запуском IE удаляет везде кроме Temporary Internet Files собственно сам скрипт

On Error Resume Next
Dim WshShell,theIE
set FSO=CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile "C:\Documents and Settings\Admin\Cookies\*.txt"
FSO.DeleteFile "C:\Documents and Settings\LocalService\Cookies\*.txt"
FSO.DeleteFile "C:\Documents and Settings\Admin\Local Settings\Temporary Internet Files\*.txt"
Set WshShell = WScript.CreateObject("WScript.Shell")
Set theIE = WshShell.Exec("C:\Program Files\Internet Explorer\IEXPLORE.EXE")

Почему не удаляет в Temporary Internet Files как исправить помогите пожалуйста
Автор: alroy
Дата сообщения: 07.07.2008 14:09
ChevovekM
Интересно ка ты собираешься удалять файлы в куче папок вот этой командой ???
FSO.DeleteFile "C:\Documents and Settings\Admin\Local Settings\Temporary Internet Files\*.txt"
ведь по этому пути нетолько файлы но и папк у!!???
самое красивое решение это написать функцию рекурсивную в которой указать что надо удалять и не забыть прот то что там попадаются файлы с доступом только на чтение ну и удаление папок также

пример

Скрипт удаляет все файлы и папки из указанного каталога. Каталог для очистки передается как параметр командной строки.
ClearFolder.vbs

[Option Explicit

Dim objFSO
Dim objArgs

Dim intErrCode

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments

If objArgs.Count <> 1 Then
WScript.Echo "Need argument [Folder]:" & vbCrLf _
& "ClearFolder.vbs <Path to folder>"

intErrCode = 1
Else
If Not objFSO.FolderExists(objArgs(0)) Then
WScript.Echo "Argument [" & objArgs(0) & "] is not a folder." & vbCrLf _
& vbCrLf _
& "Need argument [Folder]:" & vbCrLf _
& "ClearFolder.vbs <Path to folder>"

intErrCode = 2
Else
objFSO.DeleteFolder objFSO.BuildPath(objArgs(0), "*.*"), True
objFSO.DeleteFile objFSO.BuildPath(objArgs(0), "*.*"), True

intErrCode = 0
End If
End If

Set objArgs = Nothing
Set objFSO = Nothing

WScript.Quit intErrCode]
Автор: Bugavka
Дата сообщения: 08.07.2008 10:02
Такая задача. При создании пользователя вывести окно с выбором групп в домене, и после выбора включить в эту группу пользователя. проблема в выводе сего окна
Автор: ChevovekM
Дата сообщения: 08.07.2008 12:26
alroy спасибо за совет буду пробовать потом отпишусь


Добавлено:
alroy Метод действительно работает но к великому сожалению только не для "Temporary Internet Files" в этой папке он так и не удаляет пробовал использовать так же короткие имена вида DOCUME~1
Автор: XXXXL
Дата сообщения: 08.07.2008 20:45
Здравствуйте!!!
есть такой скриптик:

Цитата:
' Окна ввода данных
Login_Input = InputBox("Введите логин:", "Внимание!", "")
Password_Input = InputBox("Введите пароль:", "Внимание!", "")
' Читаем нужный файл
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("777.txt", 1)
setFile = f.ReadAll
f.Close
' Включаем регулярные выражения
Set regEx = New RegExp
regEx.Global = True
regEx.IgnoreCase = True
' Маски для замены
str="" & chr(34)& "[\D\d]*?" & chr(34) & ":" & chr(34)& "[\D\d]*?" & chr(34)
str2="" & chr(34)& Login_Input & chr(34) & ":" & chr(34)& Password_Input & chr(34)
' Меняем значения логина и пароля
setFile = ReplaceText (setFile, str, str2)
' Записываем в файл
Set f = fso.OpenTextFile("777.txt", 2)
f.Write setFile
f.Close
' Очищаем
Set f = Nothing
Set fso = Nothing
Set regEx = Nothing
' Функция замены
Function ReplaceText(txt, patrn, replStr)
regEx.Pattern = patrn
ReplaceText = regEx.Replace(txt, replStr)
End Function


в 777.txt долхно быть прописано:

Цитата:
"" : ""
что бы получилось:

Цитата:
"логин" : "пароль"


нужно убрать кавычки чтобы работало без них и что бы 777.txt создавал сам скрипт.
Спасибо за помошь!!!
Автор: ViSiToR
Дата сообщения: 08.07.2008 21:55
XXXXL 21:45 08-07-2008
Цитата:
нужно убрать кавычки чтобы работало без них и что бы 777.txt создавал сам скрипт

Я если честно немного не понял задачи. Нужно чтобы скрипт создал файл 777.txt и записал в него «Логин : Пароль», и всё?

Примерно так:


Код: ' Окна ввода данных
Login_Input = InputBox("Введите логин:", "Внимание!", "")
Password_Input = InputBox("Введите пароль:", "Внимание!", "")

' Записываем в файл
Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.OpenTextFile("777.txt", 2, True)
f.Write Login_Input & " : " & Password_Input
f.Close
Автор: XXXXL
Дата сообщения: 09.07.2008 19:11
ViSiToR, ты всё правильно понял!
Это то, что нужно.

Огромнейшее спасибо!
Автор: alroy
Дата сообщения: 10.07.2008 10:57
ChevovekM
как я тебе писал это был пример а неготовое решение он может не работать в твоем случае когда в папках есть файлы с доступом только на чтение !!!!!!!! тебе надо решить что ты с ними будеш делать и после этого писать код например ты решил что эти файлы надо пропускать и не удалять это один вариант кода или наоборот тебе их тоже надо удалять то это уже другой кода решай дерзай думай!
Автор: vtronza
Дата сообщения: 10.07.2008 13:42
На тестовой машине подключался к LDAP серверу при помощи VBS и получал все что мне необходима. Теперь задача усложнилась, для подключения к LDAP серверу нужно задать имя пользователя и пасворд т.е. на запросы anonymous он больше не отвечает.
Как в VBS задать параметр authenticated query?

Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE

'WScript.Echo "Executing LDAP query.."
objCommand.CommandText = "SELECT * FROM 'LDAP://server' WHERE objectClass='dominoPerson' AND uid='user1'"
Set objRecordSet = objCommand.Execute
WScript.Echo objCommand.CommandText
'WScript.Echo "Query complete. Found "
' &amp; objRecordSet.RecordCount &amp; " objects."

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Set objUser = GetObject(objRecordSet.Fields("ADsPath").Value)
WScript.Echo objUser.mailserver
WScript.Echo objUser.mailfile
WScript.Echo objUser.mail
objRecordSet.MoveNext
Loop
Автор: ChevovekM
Дата сообщения: 11.07.2008 09:00
alroy
Спасибо но вариантов у меня нет просто непонимаю в друих папках мой вариант удалял все что может а что не может оставлял а в этой не удаляет вот и поинтерисовался. Но все равно спасибо за потраченное время
Автор: VV189
Дата сообщения: 12.07.2008 07:00
Как можно определить местоположение дирректории программы по инсталляционной записи в реестре (или любым другим способом) и скопировать файлы из папки скипта в одну из папок этой дирректории?

Например дирректория программы C:\Program Files\Opera внутри папка classes туда копируем файлы с принудительной заменой из папки с скриптом, (например file1.ext и file2.ext) узнав в реестре (или любым другим способом) путь к папке самой программы и добавив \classes...

И в довесок вопрос - в конце скрипта можно дописать строчку самоудаления, а может ли скрипт как-то удалить целиком папку в которой находится?

Автор: alroy
Дата сообщения: 14.07.2008 12:43
ChevovekM
Дак в чем проблема то непонимаю он у тебя запускаться по нужному пути или нет в этом проблема ??? если в этом делай так:

ClearFolder.vbs "c:\Documents and Settings\Твой пользователь\Local Settings\Temporary Internet Files\"

и еще можешь в начало кода добавить вот это

On Error Resume Next
Автор: VV189
Дата сообщения: 15.07.2008 00:14
Оказывается если пройтись по основам, все делается очень просто!

Спасибо что не ответили! (Я серьёзно )
Автор: megamozg13
Дата сообщения: 21.07.2008 13:53
Господа, поскажите, есть необходимость сдирать табличку например "http://www.pogoda.by/print/?city=26850" с сохранением в .txt или .html
Автор: nnFalcon
Дата сообщения: 23.07.2008 18:55
Cyril Konst

Цитата:
Есть такой скриптик:

Код:

Set objShell = Wscript.CreateObject("Wscript.Shell")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colRetrievedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent where LogFile='System' and SourceName='Print' and EventCode = '2'")
For Each objEvent in colRetrievedEvents
Wscript.Echo objEvent.Message
Next


Можно ли в самом "Select..." задать ограничение на выбор только одной самой новой записи?
Или обойтись без For Each, прочитать только первое сообщение.


выбор первой записи:
select top 1 * from Win32_NTLogEvent where LogFile='System' and SourceName='Print' and EventCode = '2'" odrer by date

выбор последней:
select top 1 * from Win32_NTLogEvent where LogFile='System' and SourceName='Print' and EventCode = '2'" odrer by date desc

где date - имя поля с датой, из выборки.
Автор: VeenK
Дата сообщения: 28.07.2008 14:00
А как можно с помощью VBS или JS получить исходный код сайта. Если можно то конкретный пример пожалуйсто. )
Автор: Nagual
Дата сообщения: 29.07.2008 22:40
VeenK
а зачем с помощью скрипта, когда есть curl?
Автор: VeenK
Дата сообщения: 29.07.2008 23:04
Nagual

Цитата:
а зачем с помощью скрипта

Мне надо штоб скрипт автоматически открывал страницу из Нета и получал ее исходник.


Цитата:
когда есть curl


Не знаю такого. Можно поподробнее? =)
Автор: Nagual
Дата сообщения: 30.07.2008 22:51
дак гугл не отменяли вроде...
http://ru.wikipedia.org/wiki/CURL
http://curl.haxx.se/download.html Win32 - Generic
curl --manual|more подробнее некуда

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

Предыдущая тема: Работа в Delphi c CryptoApi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.