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

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

Автор: igor_andreev
Дата сообщения: 24.07.2009 04:55
Victor_Dobrov
merlin.acs пусть хинты выводит
Автор: GRom V
Дата сообщения: 24.07.2009 05:34
Есть такой скриптик входа в телнет:

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100
WshShell.AppActivate "%system32%\cmd.exe"
WScript.Sleep 100
WshShell.SendKeys "telnet 192.169.1.22{ENTER}"
WScript.Sleep 3000
WshShell.SendKeys "Administrator{ENTER}"
WScript.Sleep 2000
WshShell.SendKeys "12345{ENTER}"
WshShell.SendKeys "exit{ENTER}"

Как быть если логин - Администратор, т.е кирилицей??? Т.к. это уже не работает....???
Автор: mihmig
Дата сообщения: 24.07.2009 10:19
Victor_Dobrov
rundll32 user,SetCursorPos
а вообще Вам пора переходить на AutoIt3 - и скриптовый, и формы можно рисовать...
igor_andreev

Цитата:
merlin.acs пусть хинты выводит

агент не всегдабывает установлен
GRom V
Путь Ваш изначально неправлильный, для таких целей лучше, ИМХО, написать скриптик на PHP (ишшо и кросплатформенно будет)...
Автор: lorents
Дата сообщения: 24.07.2009 11:26
Подскажите пожалуйста, можно ли сделать конвертер *.txt файл с кодировкой Windows-1251 на UTF-16LE?
и еще подскажите пожалуйста, как можно узнать кодировку *.txt файла?
Автор: Victor_Dobrov
Дата сообщения: 24.07.2009 11:41
mihmig

Цитата:
rundll32 user32,SetCursorPos

Этот вариант ставит курсор вниз вправо и хинты наполовину уходят за край экрана...
Автор: igor_andreev
Дата сообщения: 24.07.2009 21:49

Цитата:
агент не всегдабывает установлен

На 2000\XP по умолчанию есть всегда.
Автор: mozers
Дата сообщения: 25.07.2009 13:00
Victor_Dobrov
Цитата:
Есть ли возможность показывать хинты по другому
Я пользую маленькое hta приложеньице alert.hta : [more]
Код: <html>
<head>
<meta
http-equiv=Content-Type Content="text-html; charset=Windows-1251">
<meta
http-equiv=MSThemeCompatible Content=Yes>
<hta:application
id=hta_Alert
applicationName=My_Application
icon=ahui.exe
maximizeButton=no
border=thin
innerBorder=no
scroll=no
selection=no
contextMenu=no
singleinstance=yes
version=1.0
author=mozers™
>
<style type="text/css">
body {font-family:Verdana; font-size:12px; background-color:threedface; color:green;}
input {font-family:Verdana; font-weight:bold; font-size:18px; color:red;}
</style>
<script
language="JavaScript">
function
exit(){
self.close();
}
</script>
<title></title>
</head>
<body><center><table
id="tb"><tr><td align="center">
<h3
id="Alert"></h3>
<input
type=button onClick="exit();" value="&nbsp;&nbsp;&nbsp;OK&nbsp;&nbsp;&nbsp;">
</td></tr></table></center></body>
<script
language="JavaScript">
var
cmdline = hta_Alert.commandLine.replace(/^".*?" */,'').split(",");
if (
cmdline[0]) Alert.innerHTML = cmdline[0];
if (
cmdline[1]) document.title = cmdline[1];
resizeTo(tb.offsetWidth + 40, tb.offsetHeight+60);
if (
cmdline[2]) setTimeout(exit, cmdline[2]*1000);
if ((
cmdline[3])&&(cmdline[4])) moveTo(cmdline[3], cmdline[4]);
</script>
</html>
Автор: Victor_Dobrov
Дата сообщения: 25.07.2009 17:11
mozers

Цитата:
Я пользую маленькое hta приложеньице alert.hta

Благодарю, спасибо за полезный примерчик!
Автор: mihmig
Дата сообщения: 25.07.2009 22:08
Спрашивал на 53-й странице Ссылка
и уважаемый mozers помог:

set url="https:/mysite.com"
set data="field1=ddd&field2=zzz"
curl.exe -d %data% --insecure --output atk.html %url%

Все гениальное просто!
Автор: mptv
Дата сообщения: 13.08.2009 09:49
Всем привет!
прошу прощения если подобный вопрос поднимался. Помогите пж-ста, нужен скрипт который из интернета с http копирует файл на локальную машину в папку.
Автор: mihmig
Дата сообщения: 13.08.2009 11:55
mptv
Наиболее правильным будет использовать консольную утилиту wget.exe, например:
Set WshShell = CreateObject("WScript.Shell")
Call WshShell.Run("wget.exe http://ya.ru/ -o C:\page.html", 1, 1)

или curl.exe - она еще "мощнее" см. выше.
Автор: Master_Alex
Дата сообщения: 19.08.2009 12:55
Есть вопросик.
Составляю коммандный файл cmd в котором мне надо в зависимости от языка ОС делать xcacls (т.к. группы администраторы и administrators в этих ОС имеют разные имена).
Как можно в коммандном файле определить какой язык у ОС (надо для ХР и висты)?

Добавлено:
нашёр решение, поскольку это скрипт запуска, а пермишенов мне оказалось достаточно на файлы только для системы. А "NT AUTHORITY\system" одинаков для любой языковой версии и на висте и на ХР.
Автор: galaxyMINSK
Дата сообщения: 20.08.2009 16:57
1) Помогите как на vbs удалить раздел из реестра например HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client в котором есть под разделы?

2) Как импортировать кусок рвздела из файла.reg в реестр ?

3) Есть такая служба dyndns.com
На ней зарегистрированы к примеру 20 динамический имен под разными логинами но имеют один динамический ip, может есть скриптик который при смене ip адреса сообщал об этом на dyndns.com ?
Для передачи данных
http://username:password@members.dyndns.org/nic/update?hostname=yourhostname&myip=ipaddress
http://www.dyndns.com/developers/specs/syntax.html

Спб
Автор: Nuts2002
Дата сообщения: 20.08.2009 19:19
galaxyMINSK
1. Можно сделать так:

Код: set WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegDelete("HKCU\\Microsoft\\Terminal Server Client\\Раздел1\\");
WshShell.RegDelete("HKCU\\Microsoft\\Terminal Server Client\\Раздел2\\");
...
WshShell.RegDelete("HKCU\\Microsoft\\Terminal Server Client\\");
Автор: galaxyMINSK
Дата сообщения: 20.08.2009 20:18
4) тут можно получить свой ip http://www.whatismyip.com/automation/n09230945.asp
как его можно прочитать vbs

5) Как передать информацию на http при vbs
Автор: bomzzz
Дата сообщения: 22.08.2009 11:44
четыре страницы прочитал, а уже сколько полезного подчерпнул. гыгы

никто с такой проблемой не сталкивался - при конвертации vbs в exe не хочет работать обработчик событий. может можно чем нибудь конвертнуть другим или для конвертеров другой синтаксис?
Автор: Nuts2002
Дата сообщения: 22.08.2009 19:20
bomzzz
А чем конвертируете?
Автор: bomzzz
Дата сообщения: 22.08.2009 21:50
vbs2.exe scriptcriptor xNeatBuilder, последняя вообще чета плохо себя показала, хотя там включены вроде функции обычным вбс скриптам недоступные.
vbs2.exe а этой недоступно многое - поэтому. но например вот так
WshShell.Run("notepad", 1, True) - не работает
RetCode = WshShell.Run("notepad", 1, True) вот так работает
WScript.Echo "Hello, World" - вообще не работает, ну может еще не нашел как изменить.
вот это работает, так что не критично MsgBox "Hello, World"
зато конвертирует в 13 кб исполняемые файлы
scriptcriptor вот эта отличная в ней все работает, ну вот кроме обработчика событий, впрочем возможно у меня ошибка в коде. получаются 180 кб екзешники. пользуюсь ей как редактором с отладчиком.
xNeatBuilder - а с этой чета непонятное, первый раз конвертнула правильно вроде, а теперь ошибки выдает постоянно, может конфликт какой программный.

ниче другого пока не нашел

http://bomz.t35.com/Download.rar вот пример, сижу понимаю куда код вбивать запроса чтоб из кеша не качало
иконку вырезал так вообще 10,4 КБ (10 694 байт)
вот так без ошибок откомпилировалось vbs2.exe

Цитата:

result = InputBox("Введите ссылку", Title, "http://")
If result="" Then
MsgBox "Отмена"
Else
name = Right(result, Len(result) - InstrRev(result, "/"))
IF name = "" Then name="noname.html"
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", result, 0
oXMLHTTP.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
oXMLHTTP.Send
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
oADOStream.SaveToFile name, 2
MsgBox "Файл " & result & " сохранён."
End If

интересное ограничение выяснилось для vbs2.exe - если путь к запускаемому файлу будет содержать подчерки _ он не запуститься.
Автор: bomzzz
Дата сообщения: 23.08.2009 03:22
по поводу этого скрипта вопросик никто не осветит

Цитата:

Dim ie
Set ie = WScript.CreateObject("InternetExplorer.Application")
ie.visible = True
ie.navigate("https://support.atknet.ru:443/")
Do While IE.Busy
WScript.Sleep(100)
Loop
Dim form
set form=ie.document.forms(0)
form.username.value="11111111"
form.password.value="22222222"
form.submit


под другой сайт переделал, открыл хтмл код страницы и пасматрел как там поля называются в name


Цитата:

.........<input type="password" name="login_password" class="typetext">.........

Dim form
set form=ie.document.forms(0)
form.login_name.value="1111111"
form.login_password.value="2222222"
form.submit


а вот тута че делать???? как нажать на кнопашку????


Цитата:

<form method="post" name="form_prolong">
            <div class="div_button">
                <input type="submit" name="prolong" value="продлить" class="button">
            </div>
        </form>

приводить не буду много вариантов перепробовал - ошибка возникает. а как сделать чтоб ИЕ не грузил всю страницу а только нужный кусочек??????
Автор: Valdon
Дата сообщения: 25.08.2009 15:33
Хочу написать скрипт который отправит передаваемый в качестве параметра файл на virustotal.com и в вплывающее окошко выведет результаты обработки файла на вирустотале....
ЗЫ: Можно ли сие реализовать на VBScript ? Мот кто набросает готовый пример?
Автор: mihmig
Дата сообщения: 25.08.2009 21:16
Valdon
"Бросать" лень, могу только основные вехи дать:
1. с помощью Call WshShell.Run("curl.exe.....тра-та-та
"аплоадишь" файл на virustotal.com
2. "парсишь" ответ, находишь "Permalink:"
3. с помощью Call WshShell.Run("curl.exe.....тра-та-та
скачиваешь это пермалинк
http://www.virustotal.com/ru/analisis/......
4. Парсишь страницу
5. Выдаешь ответ пользователю.
Автор: bomzzz
Дата сообщения: 26.08.2009 06:31
не подскажете как в скрипте сменить текущую-рабочую директорию на директорию местоположения самого скрипта, который запущен из другого приложения. аналог вот этой команды в батнике CD /D %~DP0
сори, проявил нетерпеливость

Цитата:

Dim path
path = WScript.ScriptFullName
GetPath = Left(path, InstrRev(path, "\"))
MsgBox GetPath
Автор: mozers
Дата сообщения: 26.08.2009 08:17
bomzzz
так - корректнее.

Цитата:
а вот тута че делать???? как нажать на кнопашку????
Удобнее использовать cURL (эта консольная утила позволяет передать данные формы).
Хотя можно и скриптом.
Автор: sysadmkey
Дата сообщения: 26.08.2009 08:39
Добрый день ... скриптописатели и скрипточитатели...
На форуме есть мноество примеров, как отправить письмо (в т.ч. с вложением), как проверить e-mail(mail, rambler, ya ... путем заполнения форм)...
Теперь вопрос: как??? реализовать (с помощью VBS) проверку НОВЫХ входящих писем и если тема одного из них соответствует "XXXXX" то производятся некоторые действия... (почтовик Exchange 2007)
Для чего?: автоматизировать проверку работоспособности почтового сервера (отправка\получение почты), смысл идеи через отправку письма с "определенным" заголовком, проверка доставки такого письма (далее производим необходимые действия) и ... соответственно удаление оного за ненадобностью...
нужна помощь именно в части: "проверка НОВЫХ входящих писем и если тема одного из них соответствует XXXXX"

*вариация 2 - отправить письмо и получить ответ что письмо доставлено

буду благодарен за идеи и примеры
... С уважением.
Автор: bomzzz
Дата сообщения: 26.08.2009 10:23
полезняшка получилась. для тех кто качает DownloadMaster-ом прямые ссылки полученные USD. скрипик помещаеца в одну папку с USD, рядом с ним список ссылок для скачивания в файле URL.txt в столбик. когда ДМ докачивает файлы его планировщик запускает скрип, а он передает USD следующую ссылку для скачивания, тот соответсвенно прямую ДМ-у. к сожалению такая казалось банальная вещь с помощью штатного планировщика USD не настраивается.

Цитата:

path = WScript.ScriptFullName
GetPath = Left(path, InstrRev(path, "\"))
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.CurrentDirectory = GetPath
Set fso = CreateObject("Scripting.FileSystemObject")
Set f_file = fso.OpenTextFile("URL.txt", 1, True)
Set t_file = fso.OpenTextFile("URL1.txt", 2, True)
Do While Not (f_file.atEndOfStream)
Url = f_file.ReadLine
If Url = "" Then Url = Temp
If Not(Url = Temp) AND Not(Temp = "") Then t_file.WriteLine Temp
Temp = Url
Loop
f_file.Close
t_file.Close
Set oFile = fso.GetFile("URL1.txt")
oFile.Copy "URL.txt", True
oFile.Delete
If Temp = "" Then
WshShell.Popup "Сцылочки кончились гыгы", 0, "URL", vbOKOnly + vbInformation
Else
Retcode = WshShell.Run("USDownloader.exe " & Url, 2, False)
End If

скрип сконвертированный в екзешник http://bomz.t35.com/URL-vbs-Alarm.rar
URL.txt

Цитата:

http://forum.ru-board.com/
http://forum.ru-board.com/
http://forum.ru-board.com/


усложненый вариант. распаковываешь в папку с USD, после распаковки запускается прога ярлыком с рабочего стола, предлагает изменить настройки планировщиков USD и DownloadMaster-а, скопировать из буфера обмена список ссылок в файл URL.txt и сразу запуститься. начинает по одной ссылке запуливать на скачивание по цепочке USD-DM. когда ссылки кончаются предлагает сменить назад настройки планировщиков. в виде екзешника, на который как оказалось ругаются антивирусы , потому что какой то баран вирус написал на вбс скрипте и конвертнул этим конвертером, а горе борцы с антивирусами неправильно начало вредительского кода определили; и в виде вбс скрипта.
http://narod.ru/disk/12485756000/Super.URL.exe.html
http://narod.ru/disk/12485758000/Super-URL.exe.html
Автор: Gavigor
Дата сообщения: 28.08.2009 14:21
доброго времени суток!
подскажите плиз как здесь избавиться от сообщения об ошибке в случае если нет нужной папки:

Const FolderPath = "C:\" 'Путь к директории
Dim MyPath
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
MyPath = left (WScript.ScriptFullName, (Len(WScript.ScriptFullName))-(Len(WScript.ScriptName)))
FSO.CopyFolder FolderPath, MyPath
Автор: bomzzz
Дата сообщения: 28.08.2009 14:29

Цитата:

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
path = "ggggg"
If (Not fso.FolderExists(path))then
MsgBox ("нету папки")
Else
MsgBox ("ура есть папка")
End If





Цитата:

Данный файл справки на русском языке описывает свойства и методы объектов Windows Script Host, а также некоторых других объектов OLE Automation, доступных в административных скриптах Windows и приложениях, способных выступить в роли OLE-клиента. Кроме объектов Windows Script Host, в частности, описана работа с регулярными выражениями в VBScript, включая подробное описание метасимволов, а также свойства и методы объектов "Shell.Application" и "Scripting.Dictionary". Многочисленные примеры приведены на языке VBScript. Также прилагается справка по встроенным константам и функциям языка VBScript. В файле справки имеется хорошо структурированное оглавление и полнотекстовый поиск.

http://narod.ru/disk/12530906000/Automation.chm.html

Руководство разработчика на WSH 2.0
Руководство разработчика на WSH 2.0

WinDjView-1.0.3-Setup
Автор: Gavigor
Дата сообщения: 28.08.2009 15:42

Цитата:
bomzzz


спасибо, НО не поняли Вы: нужно чтобы ВООБЩЕ сообщений не возникало...никаких...
Автор: bomzzz
Дата сообщения: 28.08.2009 15:45
ну тада делай если не существует то создать папку. в чем проблема
Автор: kazavo4ka
Дата сообщения: 28.08.2009 15:54
Gavigor
On Error Resume Next

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

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


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