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

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

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время
Cryzer
Странно... Пожалуйста уточните, что Вам нужно. То, что написал - выведет отсортированный список по 10 шт. Как параметр принимает путь к папке.

Код:
 
If Wscript.Arguments.Count = 0 Then Wscript.Quit 1
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace(Wscript.Arguments.Item(0))
Set objItems = objFolder.Items
For i=0 to objItems.Count - 1
  If ((i + 1) Mod 10 = 0) Then MsgBox vText : vText = "" End If
  vText=vtext & vbCrLf & Mid (objItems.Item(i).Path,InStrRev(objItems.Item(i).Path,"\")+1)
Next
MsgBox vText
 

 
msmih
Средствами WMIC через ExecQuery +  Win32_Process

Код:
 
vProcName = "Far.exe"
Set colItems = GetObject("winmgmts:\\.\root\cimv2").ExecQuery ("Select * From Win32_Process Where Name = '" & vProcName &"'")
If colItems.Count > 0 Then MsgBox vProcName & " is lauched"
 

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 22:55 10-02-2014
msmih



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

Всего записей: 1192 | Зарегистр. 29-01-2006 | Отправлено: 06:41 11-02-2014
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день  
Нужна Ваша помощь.  
Суть такая в этой папке появляются файлы E:\00DOCUMENTS\Wi-fi в фотмате *JPG  
Нужно чтоб при появлении в этой папке нового файла происходил фоновый запуст короткой мелодии "ПИМ-ПИМ"к примеру,  можно из файла, Опрос папки на наличие новых файлов каждые 10-15 сек.
И можно ещё одну опцию чтоб его можно было выключать сам скрипт, просто прописать на убивание процесса.
Вот вообщем то и всё, Спасибо

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 13:32 12-02-2014
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, TYMAH3003
Попробуйте. Первый запуск начинает наблюдение, второй - завершает.
Раз в cMainSleep с в папке cPath проверяется наличие новых файлов с расширением cExtension.
Хорошо было бы добавить запрос еще и группировку, но у меня не работает - & " GROUP WHITHIN " & cMainSleep
Звук проверить не могу - звуковая отвалилась. Должен проигрывать "%WinDir%\Media\tada.wav"
Подробнее...

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 15:46 12-02-2014
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всё как нужно работает отлично СПАСИБО

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 16:13 12-02-2014
msmih



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Снова нужна подсказка.
Есть маленький скрипт из 3-х строк

Код:
 
Set Wshshell=CreateObject("Word.Basic")
WshShell.sendkeys"{prtsc}"
set Wshshell = nothing
Wscript.Quit
 

если запускать вручную - скрипт отлично работает.
Делает print screen и сохраняет в дроб-бокс
Если повесить в планировщик - нужных действий не происходит. Скрипт запускается, отрабатывает без ошибок, картинка в буфере обмена висит, но в дроп-боксе файл не появляется.
как подправить ситуацию?
 
ps все решил. вопрос снимаю.

Всего записей: 1192 | Зарегистр. 29-01-2006 | Отправлено: 13:28 16-02-2014 | Исправлено: msmih, 17:50 16-02-2014
Werty666



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy выражаю признательность за очень полезный скрипт Ссылка (6 просто переименовывает, 7 оставляет прежнее имя + переименовывает... остальные варианты - история разработчика)
 
- переименование фотографий - при переименовании в названии указывается дата по EXIF, к названию идет в скобках следующее - Имя и Возраст например, человека, которые отсчитываются от заданной даты.
 
Получается примерно 2014-02-19 21-01-01 Я на руборде 8 лет 6 месяцев 10 дней.JPG  

Всего записей: 369 | Зарегистр. 20-07-2008 | Отправлено: 22:16 19-02-2014 | Исправлено: Werty666, 22:18 19-02-2014
nicka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
привет
есть страничка
например
http://www.myscore.ru/match/0Me3ayQk/#h2h;overall
надо перейти по линкам встреч и там из вкладки вытянуть статистику по угловым и карточкам и потом акуратно положить их в таблицу excel
наверно трудно но возможно?

Всего записей: 756 | Зарегистр. 01-10-2002 | Отправлено: 00:09 21-02-2014
awenter

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Необходим скрипт для поиска папки (допустим Mozilla) в профилях доменных юзеров и удаления ее содержимого .
С дальнейшим его запуском через планировщик.
Буду очень признателен, за помощь

Всего записей: 1 | Зарегистр. 24-02-2014 | Отправлено: 14:13 24-02-2014
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nicka
маловероятно, страница сделано так, что данные вытянуть невозможно.

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 13:59 27-02-2014
DmitriC



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, все!
 
Народ, может кто подскажет. Есть задача на паре десятков рабочих станций в домене со статическими IP-адресами изменить адрес шлюза. Вручную менять не хочется, поэтому хочу сделать все скриптом. В написании скрипта, как бы, вопросов нет, за исключением одного момента.
 
Метод SetGateways(arrDefaultGateways, arrGatewayCostMetrics) из класса Win32_NetworkAdapterConfiguration требует два параметра: адрес шлюза и метрику. А можно ли средствами VBS поменять только шлюз, а метрику явно не указывать, а принудительно задать режим "Автоматическое назначение метрики"?

Всего записей: 705 | Зарегистр. 15-12-2005 | Отправлено: 22:28 05-03-2014
loban_ser



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Подскажите как в скрипте определить имя установленного продукта Office или Windows?
есть такое:
 
strComputer = "."  
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")  
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM SoftwareLicensingProduct",,48)  
For Each objItem in colItems  
    Wscript.Echo  objItem.Name
Next
 
но выводит все имена присутствующие в "SoftwareLicensingProduct"
Office 15, OfficeProPlusR_Retail edition
Office 15, OfficeO365SmallBusPremR_SubTrial5 edition
Windows(R), ProfessionalWMC edition
Office 15, OfficeO365SmallBusPremR_Subscription2 edition
Office 15, OfficeO365ProPlusR_Retail edition
Office 15, OfficeO365ProPlusR_Subscription1 edition
Office 15, OfficeProPlusR_Grace edition
Office 15, OfficeO365SmallBusPremR_SubTrial2 edition
Office 15, OfficeO365ProPlusR_SubTrial2 edition
Office 15, OfficeO365SmallBusPremR_SubTrial3 edition
Office 15, OfficeO365ProPlusR_Grace edition
Office 15, OfficeProPlusMSDNR_Retail edition
Office 15, OfficeO365ProPlusR_SubTrial1 edition
Windows(R), OCUR add-on for all editions
Office 15, OfficeO365SmallBusPremR_Subscription4 edition
Windows(R), ProfessionalWMC edition
Office 15, OfficeO365SmallBusPremR_Subscription3 edition
Office 15, OfficeO365SmallBusPremR_SubTrial1 edition
Office 15, OfficeO365ProPlusR_Subscription4 edition
Office 15, OfficeO365SmallBusPremR_Retail edition
Windows(R), ProfessionalWMC edition
Windows(R), ProfessionalWMC edition
Office 15, OfficeProPlusDemoR_BypassTrial180 edition
Office 15, OfficeO365SmallBusPremR_Subscription5 edition
Windows(R), ProfessionalWMC edition
Office 15, OfficeO365SmallBusPremR_Grace edition
Office 15, OfficeO365ProPlusR_Subscription3 edition
Office 15, OfficeO365ProPlusR_SubTrial3 edition
Office 15, OfficeO365SmallBusPremR_Subscription1 edition
Office 15, OfficeProPlusR_OEM_Perp edition
Office 15, OfficeO365SmallBusPremR_SubTrial4 edition
Windows(R), ProfessionalWMC edition
Office 15, OfficeProPlusR_Trial edition
Office 15, OfficeO365ProPlusR_SubTrial5 edition
Office 15, OfficeO365ProPlusR_Subscription2 edition
Office 15, OfficeO365ProPlusR_SubTrial4 edition
Windows(R), APPXLOB-Client add-on for EmbeddedIndustry,EmbeddedIndustryA,Embedde
dIndustryE,EmbeddedIndustryEEval,EmbeddedIndustryEval,CoreARM,ProfessionalN,Prof
essional,ProfessionalWMC,EnterpriseN,EnterpriseNEval,Enterprise,EnterpriseEval
Windows(R), ProfessionalWMC edition
Office 15, OfficeO365ProPlusR_Subscription5 edition
 
как можно определить точно имя?

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 12:08 11-03-2014
Engaged Clown



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
 
Можно как-то установить обои рабочего стола для всех юзеров через vbs-скрипт? Желательно с растягиванием/уменьшением по разрешению.
Права администратора.

----------
Опросы ru-board'а

Всего записей: 8782 | Зарегистр. 08-06-2006 | Отправлено: 12:58 21-03-2014 | Исправлено: Engaged Clown, 13:07 21-03-2014
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время
loban_ser
"Where" пробовали?
"SELECT * FROM SoftwareLicensingProduct Where Name='Office 15, OfficeProPlusMSDNR_Retail edition'"  
Или что/какой результат нужно получить?
 
Engaged Clown
Попробуйте...
Описание на WallPaperStyle - MSDN WallPaperStyle

Код:
 
WallFileName = "C:\MyWallPaper.jpg"
WallFileStyle = 2
Set WshShell = CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")  
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount")  
For Each objItem in colItems  
    WshShell.RegWrite "HKEY_USERS\"& objItem.SID & "\Control Panel\Desktop\wallpaper", WallFileName, "REG_SZ"
    WshShell.RegWrite "HKEY_USERS\"& objItem.SID & "\Control Panel\Desktop\wallpaperstyle", WallFileStyle, "REG_DWORD"
Next
 

Или бат

Код:
 
set "WallFileName=c:\mywallpaper.jpg"
set "WallFileStyle=2"
for /f "delims=" %%i in ('reg query "HKEY_USERS"') do (
  reg add "%%i\Control Panel\Desktop" /v wallpaper /d "%WallFileName%" /t REG_SZ
  reg add "%%i\Control Panel\Desktop" /v wallpaperStyle /d %WallFileStyle% /t REG_DWORD
)
 


Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 14:35 21-03-2014
loban_ser



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

Цитата:
какой результат нужно получить?

нужно узнать какой в ОС офис установлен, допустим вот:
 
 
 
в Windows 8.1 это определяется без труда даже в бат.
а вот в 8 и 7-ке в WMI (SoftwareLicensingProduct,OfficeSoftwareProtectionProduct) нет такого параметра ProductKeyChannel.
Вот я и подумал, может возможно как-то в VBS определить?

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 15:14 21-03-2014
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
loban_ser
Попробуйте проверить статус лицензии или наличие ключа продукта (SoftwareLicensingProduct class)
"SELECT * FROM SoftwareLicensingProduct Where LicenseStatus=1"
или  
"SELECT * FROM SoftwareLicensingProduct Where PartialProductKey>0"
 
PS. Батником - wmic path SoftwareLicensingProduct Where LicenseStatus=1 get Name

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 17:11 21-03-2014 | Исправлено: Alex_Piggy, 17:13 21-03-2014
loban_ser



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

Цитата:
"SELECT * FROM SoftwareLicensingProduct Where LicenseStatus=1"  
или  
"SELECT * FROM SoftwareLicensingProduct Where PartialProductKey>0"  

 
да по этим двум параметрам можно проверить имя, но как задать например конкретно для офис?
 
батником можно
wmic path SoftwareLicensingProduct Where LicenseStatus=1 get Name,Name | findstr Office
но только если лицензирован.
 
сюда бы что подставить: wmic path SoftwareLicensingProduct Where PartialProductKey=? get Name,Name | findstr Office
что определяло установленные продукты.
 
и, спасибо, что откликнулись.

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 17:39 21-03-2014 | Исправлено: loban_ser, 17:55 21-03-2014
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
loban_ser
Использовать оператор Like?
"Name Like '%Office%'" - "Имя содержит слово Office"
"SELECT * FROM SoftwareLicensingProduct Where LicenseStatus=1 And Name Like '%Office%'"
 

Цитата:
но только если лицензирован.

Прошу прощения, не понял это замечание.
 
Вы посмотрите какие параметры Вас устраивают в CSV файле :
 
wmic /output:SoftwareLicensingProduct.csv path SoftwareLicensingProduct get /format:csv
 
И при помощи Excel откройте SoftwareLicensingProduct.csv.  
Просто у меня сейчас нет под руками установленного офиса.

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 17:55 21-03-2014
loban_ser



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
>>>
 
интересуют Name и ID.
 
Вот вроде оно
 
strComputer = "."  
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")  
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM SoftwareLicensingProduct WHERE PartialProductKey>0 And Name Like '%Office%'",,48)  
For Each objItem in colItems  
    Wscript.Echo  objItem.Name
Next
 
только бы ещё изловчится с Project и Visio, чтоб отдельно?
 
Спасибо большое за помощь
 

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 18:02 21-03-2014 | Исправлено: loban_ser, 18:49 21-03-2014
msmih



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Нужна подсказка. В примерах на разных сайтах, в том числе и майкрософта, встречается оператор goto.  Сколько сам не пытался реализовать - постоянно ошибка. Есть ли goto в vbs? если есть, то как реализовать?

Всего записей: 1192 | Зарегистр. 29-01-2006 | Отправлено: 16:09 22-03-2014
Открыть новую тему     Написать ответ в эту тему

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