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

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

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

Цитата:
проверил на xp виртуальном - удаляет

Этот работает!
Я же с такого приблизительно и начинал Осталось найти 10 отличий!!!

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 00:19 10-01-2018
Proshaa

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

Цитата:
Осталось найти 10 отличий

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

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 04:12 10-01-2018
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa
К сожалению, первоначальный вариант скрипта не сохранился, поэтому найти "10 отличий" не получится.
В чем причина неработоспособности скрипта пока не понимаю, но не в отсутствии дублирующих кавычек. Если кавычки нужны, а их нет, то скрипт не будет работать нигде. А этот скрипт работает в таком виде у меня на одном ПК и работает у Zmy111, но затыкается с ошибкой на другом ПК (с той же WinXPsp3) на строке "Set f = fso.GetFile("C:\WINDOWS\Tasks\Driver Booster Sheduler.job")", а не на строке "fso.DeleteFile f". Или где Вы предлагаете удвоить кавычки?

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 12:14 10-01-2018
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent
Я, конечно, извиняюсь, но зачем нужна здесь объектная ссылка?

Код:
Set f = fso.GetFile

Достаточно текстовой переменной с путем файла.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 13:10 10-01-2018
coherent

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

Цитата:
Я, конечно, извиняюсь, но зачем нужна здесь объектная ссылка?
Достаточно текстовой переменной с путем файла.

Не нужна. Я выкладывал тестовый вариант скрипта. Изначально я уперся в то, что метод DeleteFile давал ошибку "Файл не найден". Объектная ссылка использовалась только для проверки. Как-то так.

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 15:53 10-01-2018
Proshaa

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

Цитата:
но затыкается с ошибкой на другом ПК

антивирус?
касательно кавычек - такая конструкция:
Set f = fso.GetFile(""C:\WINDOWS\Tasks\Driver Booster Sheduler.job"")
то, что затыкается именно на этой строке - однозначно не видит файла.
проверяем: создаём файл без пробелов, например test.job, пробуем с ним. работает? значит, всё-таки дело в пробелах или "неправильных" символах в имени файла. например пробел может иметь код 32 или 160. визуально не отличить. чтоб проверить такой вариант - копируем в скрипт имя реального файла, а не набираем его вручную.

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 16:04 10-01-2018
coherent

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

Цитата:
касательно кавычек - такая конструкция:  Set f = fso.GetFile(""C:\WINDOWS\Tasks\Driver Booster Sheduler.job"")

Вы пробовали запускать такую конструкцию?!
 
2All
Проблема с якобы отсутствующим файлом имеет место быть в случае, когда файл Driver Booster Sheduler.job создается Driver Booster-ом. Этот файл не удаляется Х-Launcher-ом и vbs-скриптом (теми вариациями, которые здесь рассматривались), но удаляется батником, через комстроку и вручную. Unlocker и IOBit Unlocker показывают, что файл ничем не заблокирован. Если файл Driver Booster Sheduler.job создать вручную, то проблем с его удалением vbs-скриптом нет. Причем, это только на одном ПК, на другом (та же ОС ХР и та же Авира Фри) такой проблемы нет.

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 19:26 10-01-2018
vasyosuol_24

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

Цитата:
та же ОС ХР и та же Авира Фри) такой проблемы нет.

Любой антивирус-монитор - Зло! IMCO. Человек должен сам знать, что происходит на его компе, а не "навешивать" зловреды-тормозилки. Лучше держать антивирусный сканер, а ещё лучше - несколько, регулярно анализировать то, что происходит в системе. В конце-концов, тот же process viewer никто не отменял . Ну, а коли паранойя совсем замучает... Можно и руткиты в системе поискать. Извиняюсь за небольшой , я это всё к чему?
Теже антивири-мониторы могут иметь разные настройки, могут себя по-разному вести с разными драйверами, и т.д. и т.п. В конце-концов, все их "вольности" никто так тщательно, как ОС не тестирует (и там - в случае с ОС могут быть проколы), так что возможно всё, что угодно.
Я вообще считаю, что достаточно файрвола. Любого, который человек в состоянии правильно настроить, т.е. понимая что он делает и для чего. Чем резидент-монитор (антивирус), который будет заниматься непонятно какими задачами...  
Ещё раз извиняюсь за  

Всего записей: 1101 | Зарегистр. 16-01-2013 | Отправлено: 19:56 10-01-2018 | Исправлено: vasyosuol_24, 19:57 10-01-2018
Merlin2006

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравия!
Прошу помощи!
Нужен скрипт для определения IP клиента при подключении по RDP к Windows, чтобы его потом использовать в 1С 7.7.
На просторах интернета нашел много примеров для получения локального IP, а вот для получения клиентского IP в терминале не нашел.
Заранее благодарю.

Всего записей: 1226 | Зарегистр. 20-07-2009 | Отправлено: 10:13 11-01-2018
serg3001



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Merlin2006
GETTSCIP не оно?
Ссылка на загрузку

Всего записей: 3822 | Зарегистр. 16-10-2010 | Отправлено: 13:23 11-01-2018 | Исправлено: serg3001, 13:24 11-01-2018
Merlin2006

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

Цитата:
Merlin2006  
GETTSCIP не оно?  
Ссылка на загрузку

 
Благодарю! Знаю о таком, но так же слыхал именно о скрипте VBScript с нужным функционалом... (https://infostart.ru/public/82875/)
PS Скинули мне https://infostart.ru/public/82875/ - на сервере терминалов выдает ошибку...
Поиск продолжается...

Всего записей: 1226 | Зарегистр. 20-07-2009 | Отправлено: 14:04 11-01-2018 | Исправлено: Merlin2006, 14:33 11-01-2018
serg3001



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Merlin2006
попробуйте этот код:

Код:
 
dim NIC1, Nic, StrIP, CompName
 
Set NIC1 = GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
 
For Each Nic in NIC1
 
if Nic.IPEnabled then
 
StrIP = Nic.IPAddress(i)
 
Set WshNetwork = WScript.CreateObject("WScript.Network")
 
CompName= WshNetwork.Computername
 
MsgBox "IP Address:  "&StrIP & vbNewLine _
& "Computer Name:  "&CompName,4160,"IP Address and Computer Name"
 
wscript.quit
 
end if
 
next

Ещё для VPN есть вариант, если нужно напишу.

Всего записей: 3822 | Зарегистр. 16-10-2010 | Отправлено: 21:29 11-01-2018 | Исправлено: serg3001, 21:31 11-01-2018
Merlin2006

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

Цитата:
Merlin2006  
попробуйте этот код:  

Благодарю.
Скрипт выдает только ip сервера и его имя....
 
PS. Да не обидится автор: #
 
 
И главное - сам скрипт отрабатывает. Теперь, как его прикрутить к  1С 7.7. Сам не разбираюсь в запуске скриптов в 1С. пробовал - не прокатило. Если кто-то подскажет рабочий метод запуска (сам учусь) буду признателен. Только интересует именно получение IP в переменную, т.е. для дальнейшего использования.
Благодарю.

Всего записей: 1226 | Зарегистр. 20-07-2009 | Отправлено: 23:17 11-01-2018 | Исправлено: Merlin2006, 23:23 11-01-2018
serg3001



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

Цитата:
Теперь, как его прикрутить к  1С 7.7.

тогда в этой теме обсуждать теперь следующий шаг к привязке в 1С 7.7

Всего записей: 3822 | Зарегистр. 16-10-2010 | Отправлено: 17:32 12-01-2018
urok2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем доброго время суток  
нужен скрипт vbs для запуска программы в фоновом режиме на 10 часов  
к примеру скрипт запустил программу, подождал время и убил процесс программы, может кто поможет
 

Всего записей: 71 | Зарегистр. 10-08-2007 | Отправлено: 12:54 17-01-2018
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, кто ни будь писал скрипт для создания подписи в Outlook 2013 который берет данные из AD?
Есть примерно такой скрипт, но проблема с длине некоторых полей, при вставке они отображаются в одну строку, возможно ли средствами VBS сделать перенос если больше Х символов?  
 
 

Код:
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
strRegard = "С уважением,"
strBlank =""
'Получаем полное имя
strName = objUser.FullName
'Должность
strTitle = objUser.Title
 
...
 
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries
 
...
 
objSelection.TypeText strName
objSelection.TypeText CHR(11)
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)
 
 

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 12:08 22-01-2018
a929151



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gap5
Chr(13) & Chr(10) не спасут? Обязательно нужен подсчёт символов?

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 15:36 22-01-2018
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
Проблема в том, что вставляется значение поля из active directory целиком и в одну строчку, например:
Главный инженер отдела по консолидации и распределению особо важных производственных задач
 
а желательно так:
Главный инженер отдела
по консолидации и распределению  
особо важных производственных задач
 
Соответственно без подсчета не знаю как тут обойтись, и надо еще как-то определять окончания слов, т.е. переносить на первом пробеле после Х символов.
 
Или как альтернатива в АД должности забить с каким ни будь невидимым спецсимволом, а в скрипте заменять этот спецсимвол на перенос.

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 16:19 22-01-2018 | Исправлено: gap5, 16:22 22-01-2018
a929151



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

Цитата:
Или как альтернатива в АД должности забить с каким ни будь невидимым спецсимволом, а в скрипте заменять этот спецсимвол на перенос.

коряво конечно, но если других якорей нет, то лучше так.

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 16:45 22-01-2018
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а как такое лучше реализовать? )

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 18:08 22-01-2018
Открыть новую тему     Написать ответ в эту тему

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