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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы, задачи и их решения по VBScript.

 
Мануал (english, 600 Кб). | Зеркало
MS Scripting 5.6 (700 КБ), включает последнюю версию VBS. Владельцам XP/2000(?) должен быть не нужен. | Зеркало
Немного на wikiпедии.
Предыдущие части: 1
 
Смежные темы:
Сценарии Windows
Командная строка, батники\сценарии (bat, cmd)
Скрипты KiXtart

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 12-07-2011 | Исправлено: Smitis, 23:28 26-02-2018
msmih



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите чайнику.  
Как реализовать отправку почты, чтобы адреса подцеплялись из файла с адресами. Обычную отправку делать получается.
1. Есть текстовый файл Adress.txt со строками  
"Почта_1@домен.ru" <Почта_1@домен.ru>
"Почта_2@домен.ru" <Почта_2@домен.ru>
 
2. Как сделать в цикле чтение из файла и передачу адреса на автомате в эту конструкцию:
iMsg.To = "Почта_1@домен.ru"
iMsg.Send
 
Буду признателен за подсказку и кусок кода
 
ps  и еще буду признателен за возможность визуализации отправки в цикле. Типа счетчика или сообщения "Отправлено X Из XX"

Всего записей: 1195 | Зарегистр. 29-01-2006 | Отправлено: 20:33 03-04-2013 | Исправлено: msmih, 20:39 03-04-2013
dvs2009



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток!
Подскажите, как реализовать в VBS переключение языковой раскладки?
 
То есть у меня рабочий VBS с выбором запуска двух программ. Для одной нужно писать по-английски, для другой - по-русски. Надо вставить код переключения раскладки языка (или как  это правильно называется - ХЗ...)
 
Добавлено:
Думал как корректно это организовать.
1) считываем с реестра необходимые ветки. -> сохраняем их.
2) заносим в реестр такую конструкцию:
   - смена раскладки по Контрол+Шифт
   - назначение русской раскладки на сочетание клавиш 1
   - назначение английской раскладки на сочетание клавиш 2
3) WshShell.SendKeys и выполнение необходимых действий скрипта
4) удаление из реестра внесённых изменений и занесение в реестр сохранённых веток
 
Вот без ребута винды, "на лету", смена сочетаний клавиш и остальное с реестром - будет работать?
 
Помогите плиз со скриптом - я в VBS совсем начинающий!

Всего записей: 57 | Зарегистр. 20-09-2008 | Отправлено: 19:31 04-04-2013 | Исправлено: dvs2009, 22:42 04-04-2013
kit83

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен скрипт для отслеживания запуска программы 1.exe если она не работает - запустить, отслеживать запуск chrom.exe и в случае запуска убить её и развернуть и сделать активным окно программы 1.exe
 
Спасибо

Всего записей: 1 | Зарегистр. 13-04-2013 | Отправлено: 21:59 13-04-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый вечер
msmih
Наверное как-то так... Подробнее...
 
kit83
Попробуйте. Только у меня фокус не всегда меняется...
Подробнее...

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 22:38 15-04-2013
msmih



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
Спасибо! попробую.

Всего записей: 1195 | Зарегистр. 29-01-2006 | Отправлено: 19:29 16-04-2013
inco by

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения за чайниковский вопрос. Возможно ли средствами VBScript выполнить следующую последовательность операций:
1) запустить программу
2) кликнуть по нужной кнопке (загрузить файл) в программе
3) после чего из появившегося в виндоузном окне выбрать файл с нужным именем, нажать кнопку ОК
4) снова кликнуть по кнопке "Загрузить файл"
5) сменить каталог из которого выбрать другой файл с таким же именем.
 
В инете существует ряд разного рода кликеров, но по определенным причинам  их использование неудобно.  
 
Спасибо.  
 

Всего записей: 36 | Зарегистр. 24-09-2005 | Отправлено: 15:58 18-04-2013
korosya

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, плиз, как из VBS  выводить сообщения в файл, имя которого задаётся как параметр при запуске файла VBS

Всего записей: 1008 | Зарегистр. 19-07-2003 | Отправлено: 00:37 22-04-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый вечер
inco by
Какая программа? Она поддерживает ActiveX? Если нет, то наверное только через WshShell.SendKeys (попробуйте сначала с клавиатуры. Альт - перейти в меню, курсором - выбрать Открыть,  Таб - перейти к нужному полю, ввести имя файла с путем, табом на загрузить, ввод, повторить для другого файла)  
 
korosya

Код:
 
Set FSO = CreateObject("Scripting.FileSystemObject")
if WScript.Arguments.Count = 0 then Wscript.Quit (1) end if
filename=WScript.Arguments.Item(0)
 
if FSO.FileExists(filename) then  
Set Text=FSO.OpenTextFile(filename,8)
else
Set Text=FSO.CreateTextFile(filename)
end if
 
Text.WriteLine("Hello World!")
Text.Close
 

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 21:59 22-04-2013
inco by

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

Цитата:
inco by  
 Какая программа? Она поддерживает ActiveX? Если нет, то наверное только через WshShell.SendKeys (попробуйте сначала с клавиатуры. Альт - перейти в меню, курсором - выбрать Открыть,  Таб - перейти к нужному полю, ввести имя файла с путем, табом на загрузить, ввод, повторить для другого файла)  

 
Спасибо, решил пойти по пути наименьшего сопротивления, воспользовавшись программкой Autoit.

Всего записей: 36 | Зарегистр. 24-09-2005 | Отправлено: 22:20 22-04-2013
korosya

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
Спасибо за помощь.
Я пытаюсь преобразовать этот скрипт для распаковки файлов MSI, чтобы он
1. Выводил свои сообщения не в окно MsgBox, а в файл, задаваемый во втором параметре комстроки. Если второго параметра нет, то в %Temp%\JSWareMSIUnpack.log
2. Распаковывал бы MSI-файл в директорию, указанную в третьем параметре. Если третьего параметра нет, то распаковывается как в оригинальном скрипте.
 
Я сделал следующие изменения:
В начале до  
  '---------------------- begin MSI class -----------------------------      
 
 
   Подробнее...
 
2. В середине заменил

Код:
    FolPack = FolMSI & "\Unpacked"        'folder to unpack MSI data to.
    FolData = FolPack & "\MSI_Utility_Data"            ' folder For holding MSI raw data during operation.
    DescPath = FolMSI & "\Program Description.txt"    '-- Path of description file - needed later.
 

на

Код:
 If Len(Output) = 0 Then
  FolPack = FolMSI & "\Unpacked"      'folder to unpack MSI data to.
  FolData = FolPack & "\MSI_Utility_Data"           ' folder For holding MSI raw data during operation.
  DescPath = FolMSI & "\Program Description.txt" '-- Path of description file - needed later.    
  Else
  FolPack = Output      'folder to unpack MSI data to.
  FolData = FolPack & "\MSI_Utility_Data"           ' folder For holding MSI raw data during operation.
  DescPath = FolPack & "\Program Description.txt" '-- Path of description file - needed later.    
  End If
 

 
При запуске скрипта без параметров вылетает ошибка "Индекс выходит за пределы допустимого диапазона со ссылкой на строку Logfile = WScript.Arguments.Item(1)
Если задать все параметры, всё нормально распаковывается в нужную папку, но потом вылетает ошибка "Несоответствие типа 'WriteData' " со ссылкой на строку WriteData Logfile, strLog
 
Прошу помочь написать правильные изменения в скрипте.

Всего записей: 1008 | Зарегистр. 19-07-2003 | Отправлено: 23:27 24-04-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброй ночи, korosya
1. Подробнее...
2.WriteData и AppendData относятся к классу MSIOps (кстати, во первых, Вам нужно AppendData, а во вторых к выводимой строке нужно прибавлять vbcrlf). Следовательно, Вам нужно их вызывать по MC.WriteData и MC.AppendData (и после объявления  "Set MC = new MSIOps")
PS. Проверить толком не могу - у меня и оригинальный скрипт  не работает...

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 02:00 25-04-2013
korosya

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
Спасибо попробую.
Оригинальный скрипт для работы требует, чтобы на него мышкой в проводнике поместили файл MSI или в комстроке задали wscript.exe оригинальный_скрипт файл.msi

Всего записей: 1008 | Зарегистр. 19-07-2003 | Отправлено: 07:46 25-04-2013
dvs2009



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте !
 
В VBS я новичок.
Уже всю голову сломал...
 
Вот такая конструкция не работает почему-то:
 

Код:
Dim WSHShell
 
RU = "с:\FOLDER1\"
 
Set WshShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run Chr(34) & RU & file1.exe Chr(34), 2

 
Как сделать правильно?
То есть путь к екзешнику вынести отдельно и запустить его?
Как только не пробовал - пишет путь не найден.
Символы & и Chr(34) куда только не вставлял и как только не комбинировал - ни разу не запустилось ((

Всего записей: 57 | Зарегистр. 20-09-2008 | Отправлено: 18:56 17-05-2013 | Исправлено: dvs2009, 19:04 17-05-2013
LordHomyak

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

Всего записей: 45 | Зарегистр. 10-02-2010 | Отправлено: 01:25 18-05-2013 | Исправлено: LordHomyak, 02:06 18-05-2013
dvs2009



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

Цитата:
Подробнее...

Огромное спасибо!
 

Всего записей: 57 | Зарегистр. 20-09-2008 | Отправлено: 07:28 18-05-2013
ysybarite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят,  
подскажите пожалуйста скрипт для проверки соединения интернет с интервалом и если отсутствует, то перезапуск устройства?
 
это перезапуск WiFi
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("c:\\Dell\\DevCon\\devcon.exe restart PCI\*DEV_008A*",0);
 
а после перезапуска WiFi залогиниться на роутер и отправить команду http://192.168.1.1/setup.cgi?todo=reboot (на роутере нет telnet)
видимо этот параметр с использованием сторонней проги может такое выполнить, но может и на языке скрипта есть какая-то команда
curl -u “username:password” “http://192.168.1.1/setup.cgi?todo=reboot”
 
 
Спасибо.
 
 
Вот еще какой то батник, но я так и не разобрался в нем
if [ -z "$1" ]
then
  echo "wag320n-hack.sh: missing remote command"
  echo "usage: wag320n-hack.sh <remote command>"
  echo "example: wag320n-hack.sh /bin/ls -la /usr/sbin"
  echo "Note: always use full path"
  echo ""
  echo "wag320n-hack.sh - Ver. 1.0 - 12/09/2010"
  echo "Licensed under GPL V. 3"
  echo ""
  exit 0
fi
 
# Get the command
my_command="ping_size="'$('"$@"' 1>&2)'
 
curl -s -G -u "$my_access" --data-urlencode 'todo=ping_test' --data-urlencode 'this_file=Diagnostics.htm' --data-urlencode 'next_file=Ping.htm' --data-urlencode 'c4_ping_ipaddr=192.168.1.1' --data-urlencode 'ping_timeout=5000' --data-urlencode 'ping_interval=1000' --data-urlencode 'ping_number=1' --data-urlencode "$my_command" http://192.168.1.1/setup.cgi | sed -e '/HTTP\/1.0 200 OK/q'

Всего записей: 61 | Зарегистр. 01-09-2009 | Отправлено: 16:04 18-05-2013 | Исправлено: ysybarite, 16:38 18-05-2013
LordHomyak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
доброе утро, ysybarite
 
Пробуйте, у меня возможности проверить нет
Код VBS

Всего записей: 45 | Зарегистр. 10-02-2010 | Отправлено: 09:09 19-05-2013 | Исправлено: LordHomyak, 10:37 19-05-2013
ysybarite

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

Всего записей: 61 | Зарегистр. 01-09-2009 | Отправлено: 13:27 19-05-2013
zawakened



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, люди добрые
 
Подскажите такой момент: можно ли из коммандной строки вызвать процедуру в файле FILE.VBS
 
То есть в наличии один файл VBS
Код:
Sub Test1
    msgbox "Test1"
End Sub
 
Sub Test2
    msgbox "Test2"
End Sub

 
Как из коммандной строки CMD.EXE вызвать например процедуру Test1
Поисковик молчит как будто вопрос вообще ни разу не поднимался
Хотелось бы получить какой нибудь вариант например:
Код:
wscript.exe "FILE.VBS" Test1

Вообще такое возможно?

Всего записей: 430 | Зарегистр. 04-07-2010 | Отправлено: 08:10 20-05-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, zawakened
"Аргументы командной строки VBS" - поисковик молчит?

Код:
 
if WScript.Arguments.Count = 0 then
    msgbox "Please use '/test1' or '/test2' arguments"
else
    if (WScript.Arguments.Named.Exists("test1")) then Test1
    if (WScript.Arguments.Named.Exists("test2")) then Test2
end if
 

Или

Код:
 
if WScript.Arguments.Count = 0 then
    msgbox "Please use 'test1' or 'test2' arguments"
else
if (WScript.Arguments.Item(0)="test1") then Test1
if (WScript.Arguments.Item(0)="test2") then Test2
end if
 

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 08:36 20-05-2013
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru