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

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

Автор: slech
Дата сообщения: 05.02.2008 09:40
AndVGri
спасибо, про SMTP не подскажешь ?
Автор: alroy
Дата сообщения: 05.02.2008 14:20
пример использования Call SendPost(" ТУТ Сервер почтовый", " тут кому", "Тут от кого", "Тут тема ", "тело сообщения ")

Function SendPost(strSMTP_Server, strTo, strFrom, strSubject, strBody)
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP_Server
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
Flds.Update
iMsg.Configuration = iConf
iMsg.To = strTo
iMsg.From = strFrom
iMsg.Subject = strSubject
iMsg.TextBody = strBody
iMsg.AddAttachment "ТУТ можно прикрепить файл каконибудь!! "
iMsg.Send
End Function
Автор: slech
Дата сообщения: 06.02.2008 08:53
alroy спасибо.
вот нашёл ещё с довольно подробным описанием
Автор: garniv
Дата сообщения: 06.02.2008 13:42
AndVGri

Цитата:
Если они создавались по какой-нибудь маске, где перед точкой расширения стоит день, то будут скопированы все файлы с началом имени Server и концом номером текущего дня (месяца и года нет, так что будут копирваться за все месяцы и годы имеющие такой же день)

Не обязательно день
Цитата:
Будут скопированы все файлы с началом имени Server и
заканчивающиеся на число, просто совпадающее с текущим числом месяца.

Например такие:
Serverj5dsfhid7653sufy4ewfw6.rar
Serverk5j6dhvi6.rar
Servero86r7ew6uy546546454353596.rar
Server_6.rar
Автор: slech
Дата сообщения: 06.02.2008 16:27
ещё разок прошу помощи.
нужно высылать логи NTBackUp на почту. нашёл скриптик. пути, сервер поменял - не работает. к сожалению совсем мало понимаю в vbs помогите разобраться.

Email NTBackup log files

скриптик вроде должен отправлять файлы которые созданны сегодня.


спасибо.
Автор: juvaforza
Дата сообщения: 06.02.2008 21:37
Братцы, через SendKeys можно русский текст передавать?
Автор: garniv
Дата сообщения: 06.02.2008 21:47
juvaforza
Попробуй так:
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 1000
WshShell.SendKeys "(^+)"
WScript.Sleep 1000
WshShell.SendKeys "Ghbdtn"

взято с http://www.aspnetmania.com/Forums/ForumMessage/223077.html
Автор: juvaforza
Дата сообщения: 06.02.2008 22:55
garniv
А как, например, букву ж набрать?
Автор: ViSiToR
Дата сообщения: 07.02.2008 02:40
garniv

Цитата:
Попробуй так:

Это не всегда сработает, не у всех раскладка меняется через Ctrl + Shift.

juvaforza

Цитата:
А как, например, букву ж набрать?



Код: set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 1000
WshShell.SendKeys "(^+)" 'Это зависит от того, чем переключается раскладка клавиатуры
WScript.Sleep 100
WshShell.SendKeys ";"
Автор: XXXXL
Дата сообщения: 09.02.2008 15:10
Ребята, есть документ .set и там в нужных местах нужно записывать логин и пароль, а реально с помощью VBScript сделать короткий диалог. Окошко с надписью введите свой логин и пароль.
Автор: ViSiToR
Дата сообщения: 09.02.2008 15:30
XXXXL

Цитата:
реально с помощью VBScript сделать короткий диалог. Окошко с надписью введите свой логин и пароль.

Можно с InputBox, и в сообщении подметить что логин и пароль вводить через некий разделитель... а потом делить результат - Ну или выводить два InputBox'а
Автор: XXXXL
Дата сообщения: 09.02.2008 17:47
ViSiToR
А можеш с кодом помочь

Цитата:
Ну или выводить два InputBox'а

Лучше в два
Автор: mozers
Дата сообщения: 09.02.2008 19:53
XXXXL
В голом WSH отсутствует возможность создания диалоговых окон.
Для их создания лучше использовать HTA или какой нить сторонний COM-компонент.
Автор: ViSiToR
Дата сообщения: 09.02.2008 23:57
XXXXL

Цитата:
А можеш с кодом помочь


Пример с одним:


Код: Input = InputBox("Введите логин и пароль:", "Внимание!", "")

Login = Left(Input, InStrRev(Input, ":") - 1)
Password = Mid(Input, InStrRev(Input, ":") + 1)

Wscript.Echo "Login: " & Login & VBLF & VBLF & "Password: " & Password
Автор: Smitis
Дата сообщения: 10.02.2008 00:06
XXXXL
Можно использовать компонент на базе IE - InternetExplorer.Application
Ищи. В этой теме были примеры.
Автор: AlessTO
Дата сообщения: 10.02.2008 08:01
Имеется open.avs (формат txt)
Имеется переменная (путь) с кириллицей (%filepath1%)
Как можно вставить переменную в open.avs при помощи скрипта?
Примерно такого вида:
%filepath1%=E:\DownLoaded\Torrent\Оболочка\1.avi
было в тексте directshowsource
нужно directshowsource ("E:\DownLoaded\Torrent\Оболочка\1.avi")

при помощи bat это возможно, но там любой txt сохраняется в кодировке 866, а мне нужно 1251
хелп?
Автор: XXXXL
Дата сообщения: 10.02.2008 08:15

Цитата:
Пример с двумя:



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

Wscript.Echo "Login: " & Login_Input & VBLF & VBLF & "Password: " & Password_Input
Автор: Rush
Дата сообщения: 10.02.2008 08:53
XXXXL

Цитата:
но как реализовать запись пароля и логина в .set именно в определенные места.

Для этого надо знать структуру set-файла и видеть где там что пишется.
Автор: XXXXL
Дата сообщения: 10.02.2008 09:25

Цитата:
Для этого надо знать структуру set-файла и видеть где там что пишется.


вот и строка

Код: -h 192.168.1.1 "login" root -p "password" -timeout 10000 -input disconn.txt
Автор: Rush
Дата сообщения: 10.02.2008 12:17
XXXXL
Конкретно для этой строки:

Код:     ' Окна ввода данных
Login_Input = InputBox("Введите логин:", "Внимание!", "")
Password_Input = InputBox("Введите пароль:", "Внимание!", "")
    ' Читаем нужный файл
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("имя файла", 1)
setFile = f.ReadAll
f.Close
    ' Включаем регулярные выражения
Set regEx = New RegExp
regEx.Global = True
regEx.IgnoreCase = True
    ' Маски для замены
str="192.168.1.1 " & chr(34)& "[\D\d]*?" & chr(34) & " root -p " & chr(34)& "[\D\d]*?" & chr(34)
str2="192.168.1.1 " & chr(34)& Login_Input & chr(34) & " root -p " & chr(34)& Password_Input & chr(34)
    ' Меняем значения логина и пароля
setFile = ReplaceText (setFile, str, str2)
    ' Записываем в файл
Set f = fso.OpenTextFile("имя файла", 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
Автор: Rush
Дата сообщения: 10.02.2008 14:21
Блин, протупил.
Зачем
Код: [\D\d]*?
Автор: XXXXL
Дата сообщения: 10.02.2008 18:07
Rush, Спасибо! всё работает как надо!
Автор: Nagual
Дата сообщения: 11.02.2008 00:14
AlessTO
Цитата:
но там любой txt сохраняется в кодировке 866, а мне нужно 1251

Код: help chcp
Автор: ViSiToR
Дата сообщения: 11.02.2008 02:05
AlessTO

Цитата:
Как можно вставить переменную в open.avs при помощи скрипта?

Переменная окружения? глобальная?

В скрипте можно получить переменную через WshShell.Environment, а чтобы из командной строки, то нужно передать скрипту как параметр.

Вот пример замены в файле на глобальную переменную:


Код: Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

FilePath = ".\open.avs"

'Тут будет получено значение глобальной переменной %filepath1%
'Если значение заранее известно, то можно просто подставить его как значение для DSSEnv
DSSEnv = WshShell.Environment("filepath1")

'Открываем файл для чтения, и делаем замену текста
Set oFile = fso.OpenTextFile(FilePath, 1)
FileContent = Replace(oFile.ReadAll, "directshowsource", "directshowsource(" & DSSEnv & ")")
oFile.Close

'Пишем обратно после замены
Set oFile = fso.OpenTextFile(FilePath, 2)
oFile.Write FileContent
oFile.Close
Автор: titris
Дата сообщения: 11.02.2008 12:34
Возможно ли создать скрипт,который будучи запущенным(через autorun) закрывал бы некоторые программы и(или)убивал процесс.Срабатыванме должно происходить скажем через полторы минуты,после запуска соответствующей программы,при запуске другой программы,прописанной в этом скрипте,закрывал бы и ее и так до ребута системы.
Если можно приведите пример написания соответств.скрипта и включите в него хотя бы стандартные Windows программы типа notepad и WordPad.Так же попрошу пояснить-какая будет разница в 3 случаях:английская версия Windows,английская с MUI,русская чисто.
А также место в этом скрипте прошу пояснить где заложена инфа о битности системы,т.е.32 или 64 bit.
Конечно не в тему,но можно ли такую штуку написать с помощью AutoIt?
Автор: ViSiToR
Дата сообщения: 11.02.2008 14:49
titris

Цитата:
Возможно ли создать скрипт,который будучи запущенным(через autorun) закрывал бы некоторые программы и(или)убивал процесс.

Возможно.
Пример могу привести позже.


Цитата:
можно ли такую штуку написать с помощью AutoIt?

Всё что можно на wsh, можно и на AutoIt, и в несколько раз проще/быстрее/надёжнее
Автор: ripev
Дата сообщения: 11.02.2008 16:38
Друзья, вопрос немного не в тему, но все же.
Как/какой программой скомпилировать vbs в exe?
Автор: titris
Дата сообщения: 11.02.2008 19:07
VISIToR
Буду ждать с нетерпением твоего примера.AutoIt у меня установлен,начинаю его изучение,VBscript тоже интересен,если можно пример и в .vbs тоже покажи
Автор: ViSiToR
Дата сообщения: 12.02.2008 00:13
titris
Если я верно понял, скрипт должен работать циклом, запускать определённую программу, ждать 1.5 м, закрывать её, и так по кругу?


Код: Set WshShell = CreateObject("WScript.Shell")

Program = "Notepad.exe"

While True
    Set oNotepad = WshShell.Exec(Program)
    WScript.Sleep 90 * 1000 '90 секунд
    
    oNotepad.Terminate
WEnd
Автор: ripev
Дата сообщения: 12.02.2008 09:08

Цитата:
Интересно для чего? Можно тем же AutoIt'ом FileInstall'ить

Программа APC Power Chunte идущая в комплекте с Smart APC упсами. Может потушить сервер к которому подключен сам упс. И может выполнить перед тушеним "любой" скрипт.
Под любым понимается exe файл и только.

Код: shutdown.exe /s /m \\server-name[1-3]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

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


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