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

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

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

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

schax



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

Всего записей: 50 | Зарегистр. 07-10-2004 | Отправлено: 01:34 23-12-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, новичку с помощью скрипта VBS в назначенных заданиях Win2K Pro удалить файлы XLS в некоторой папке с датой создания в предыдущих текущему месяцах.
Вот у меня (новичка) получилось так:
Код:
Set Shell=CreateObject("WScript.Shell")
For i=1 To Month(Now)-2
If i<10 then i=0&i
'MsgBox("c:\temp\report\*_"&i&"_"&Year(Now)&".txt")
Shell.Run "cmd.exe /c del c:\temp\report\*_"&i&"_"&Year(Now)&".txt"
Next

Ситуация несколько упрощается тем, что в именах файлов указывается дата их создания.
Я решаю задачу с помощью вызова консоли и с успользованием команды DEL, но мне кажется, что решение получается крайне неизящным, да и консоль постоянно мигает во время выполнения скрипта. Посоветуйте, опытные программеры, более "красивое " решение.

Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 16:38 24-12-2005 | Исправлено: aezh, 16:41 24-12-2005
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aezh
Код:
'Удаление файлов XLS если они старше 30 дней
Dim FSO, WSH
Dim TheFolder, TheFiles, AFile
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TheFolder = FSO.GetFolder("c:\temp\report\") 'Каталог, откуда удалять
Set TheFiles = TheFolder.Files
For Each AFile In TheFiles
    If UCase(FSO.GetExtensionName(AFile.Path)) = "XLS" and _
        FormatDateTime(AFile.DateLastModified, 2) < FormatDateTime(Date - 30, 2) Then
        AFile.Delete
    End If
Next

 


----------
Интересно только неизведанное...

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 23:45 24-12-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, mozers, буду пробовать
 
Добавлено:
Нет, к сожалению, непонятная мне ошибка происходит Удаляются ВСЕ файлы XLS кроме модифицированных 30-го ноября 2005 года.  
Для последних выражение
Код:
FormatDateTime(AFile.DateLastModified, 2) < FormatDateTime(Date - 30, 2)
возвращает Ложь.
Почему, подскажите, пожалуйста.
 
Добавлено:
Пришлось заменить в условиях сравнения:

Код:
FormatDateTime(AFile.DateLastModified, 2) < FormatDateTime(Date - 30, 2)

на

Код:
DateDiff("d", AFile.DateLastModified, Date) > 30

Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 09:25 25-12-2005 | Исправлено: aezh, 17:06 26-12-2005
megamozg13



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Существует задача: На сервере терминалов имеется куча программ и нужно отслеживать какие пользователи что используют, и запретить вход на сервер "в exlorer".
Т.е. необходимо получить значение поля "Programm path and file name" когда пользователь подключается на сервер терминалов (TS:Win2003 Ent + WS: WinXP,Win2k), которое зашито в его клиентском подключении.  
+ Следует учесть, что один пользователь может одновременно подключаться к разным программам разными сессиями - одновременно.

Всего записей: 313 | Зарегистр. 27-07-2004 | Отправлено: 11:11 30-12-2005
SaDFromSpb



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

Цитата:
запретить вход на сервер "в exlorer"

Вот это, наверное, через групповые политики лучше попытаться сделать сперва.

Всего записей: 209 | Зарегистр. 22-06-2004 | Отправлено: 12:35 30-12-2005
megamozg13



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

Цитата:
Вот это, наверное, через групповые политики лучше попытаться сделать сперва.

"грамотный" инсайдер может подключится к "cmd.com", "TOTALCMD.EXE" и т.д.
- тут необходимо сделать вариант запуска по "белому списку", т.е. только тех программ которым дано "добро".

Всего записей: 313 | Зарегистр. 27-07-2004 | Отправлено: 12:39 30-12-2005
Reznikoff

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Салют товарищи.
Вопрос номер раз.
Вот код для определения ip адреса этого компьютера

Код:
 
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set IPConfigSet = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
      
    For Each IPConfig in IPConfigSet
        If Not IsNull(IPConfig.IPAddress) Then  
            For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
                LocalIp = IPConfig.IPAddress(i)
            Next
        End If
    Next
 

На одних компах работает, а на других ругается что не может запустить depend service.
Есть ли другие способы определить свой ip? шоб работал везде на вин2000 и винхр. Ну и покомпактнее
Вопрос номер второй. Подключаю сетевой диск. как задать квоту для этого диска например 50 мегобайтов?
Вопрос номер третий.
Создал папку. Как задать ей права на доступ?  
Имеется актив директори, вин2000 сервер.
Сенкувериматч

Всего записей: 62 | Зарегистр. 18-07-2005 | Отправлено: 12:14 27-03-2006
zoric

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, в чем лучше отлаживать скрипты?
Я пользуюсь MSE из офиса, но приходится внедрятьскрипт в HTML. И ИМХО это не всгда корректно - например WSHShell выдаёт ошибку

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 12:36 09-04-2006
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zoric
Кто как конечно, а я и пишу и отлаживаю в SciTE (подсветка, автодополнение и пр...)
Написал, нажал F7, весь вывод и ошибки вижу в нижнем окне.
Щелчок на сообщении о ошибке устанавливает курсор на неверную строку.
Че еще надо?

----------
Интересно только неизведанное...

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 19:02 09-04-2006
zoric

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

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 22:21 09-04-2006
zoric

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне тут с почтой пришёл файл под названием Прикол!!.hta
Может кто объяснить, что и главное КАК (по-порядку) он делает?




Предупреждение за вирус во-первых, за огромный пост во-вторых, при повторении запрет на пост,

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 14:34 29-04-2006 | Исправлено: ShIvADeSt, 01:48 02-05-2006
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zoric
Если очистить этот код от мишуры, то получается такой вот скрипт
В процессе выполнения он создает на диске C:\ и запускает файл ntldr.exe, инфицированный Email-Worm.Win32.Scano.f. Загружаться этот файл будет, насколько понимаю, еще до загрузки системы. Ну и со всеми вытекающими
 
Добавлено:
http://www.viruslist.com/ru/viruses/encyclopedia?virusid=118908

----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 15:45 29-04-2006 | Исправлено: Troitsky, 15:49 29-04-2006
zoric

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.
То есть скрипт генерирует ntldr.exe и запускает его. Всю остальную работу (http://www.viruslist.com/ru/viruses/encyclopedia?virusid=118908) делает уже екзешник. Так?
А зачем мишура?
 
Не разберусь с UBound. Что она делает?
 
В одном месте такой пример

Код:
Dim A(100,3,4)
--------------------------------
Statement         Return Value
--------------------------------
UBound(A, 1)    100
UBound(A, 2)     3
UBound(A, 3)     4

 
В другом  такой

Код:
Dim A(100,3,4)
--------------------------------
Statement         Return Value
--------------------------------
UBound(A, 1)     99
UBound(A, 2)     2
UBound(A, 3)     3
 

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 11:59 30-04-2006 | Исправлено: zoric, 12:03 30-04-2006
Troitsky



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

Цитата:
То есть скрипт генерирует ntldr.exe и запускает его. Всю остальную работу (http://www.viruslist.com/ru/viruses/encyclopedia?virusid=118908) делает уже екзешник. Так?

Да

Цитата:
А зачем мишура?

Вероятнее всего, чтоб никто не догадался

Цитата:
Не разберусь с UBound.


Код:
Функция UBound
Возвращает значение типа Long, содержащее максимальный доступный индекс указанной размерности массива.
 
Синтаксис
 
UBound(arrayname[,dimension])
 
Синтаксис функции UBound содержит следующие элементы:
 
arrayname    Обязательный.  Имя переменной массива, удовлетворяющее стандартным правилам именования переменных.
dimension    Необязательный; Variant (Long).  Целое число, указывающее размерность, верхнюю границу которой возвращает функция.  Для первой размерности используется значение 1, для второй 2 и т.д.  Если аргумент dimension опущен, подразумевается значение 1.
 
Дополнительные сведения
 
Функция UBound вместе с функцией LBound используется для определения размеров массива.  Функция LBound применяется для выяснения нижнего предела размерности массива.
UBound возвращает значения, перечисленные в приводимой ниже таблице, для массива со следующими размерностями:
 
Dim A(1 To 100, 0 To 3, -3 To 4)
 
Инструкция          Возвращаемое значение
 
UBound(A, 1)    100
UBound(A, 2)    3
UBound(A, 3)    4
 

 
 
 


----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 22:53 01-05-2006
zoric

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. То есть разница в примерах из-за того с чего начинается индекс - с 0 или 1?
2. Откуда цитата на русском?

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 12:07 02-05-2006
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zoric
 
1. Не совсем понятно откуда взят второй пример. Это реально полученный результат? Возвращаться должен именно максимальный индекс, в независимости от того каково значение минимального индекса. Приведенный пример тому подтверждение:
Цитата:
Dim A(1 To 100, 0 To 3, -3 To 4)  
 
Инструкция          Возвращаемое значение  
 
UBound(A, 1)    100  
UBound(A, 2)    3  
UBound(A, 3)    4

 
2. Справка к пятой версии VB.

----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 20:19 02-05-2006
zoric

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Microsoft® Visual Basic® Scripting Edition  - Language Reference Version 1
2. Там русский хелп?
 
 
Добавлено:
Как на VBScript поместить в Буфер Обмена текст?
 
Добавлено:
Как на VBScript поместить в Буфер Обмена текст?

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 12:19 03-05-2006
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zoric
По поводу руского хелпа к VB5: насколько себе представляю, это частичный перевод MSDN'а. Откуда его качал не помню.

Цитата:
Как на VBScript поместить в Буфер Обмена текст?
http://forum.ru-board.com/topic.cgi?forum=33&topic=5123


----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 18:39 04-05-2006 | Исправлено: Troitsky, 18:44 04-05-2006
zoric

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

Всего записей: 159 | Зарегистр. 29-07-2005 | Отправлено: 20:23 04-05-2006
   

Страницы: 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru