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

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

   

anton04



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Форумчане помогите решить задачу с помощью vbs скрипта:  
 
необходимо в при запуске ПК (до логина пользователя, т.е. когда обрабатывается GPO ПК) выполнение несложного vbs скрипта который делает следующее:  
 
1. мапит диск \\server\script  
2. выполняет определённую команду или запускает файл (exe)  
3. отключает диск  
единственное что ещё хотелось бы предусмотреть это возможность недоступности сервера по пути и в этом случае просто завершения работы скрипта без создания лог файла с ошибкой.  
 
Я даже более чем уверен что что-то подобное уже реализовывалось, поделитесь кодом.  
 
P.S. Само собой что данный скрипт выполняется в сети домена.
P.P.S. Скрипт должен быть совместим, т.е. выполняться на Windows XP/Vista/7/2008/2008R2.
P.P.P.S. Поиск в Интернете дал только код для решения отдельных элементов задачи, а решение задачи в целом не нашёл.

Всего записей: 2804 | Зарегистр. 14-06-2006 | Отправлено: 11:15 30-04-2010
evsand

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlth
Спасибо за помощь.
Ругается, выдает ошибку: Разрешение отклонено. Мне надо чтобы не было диалога и поиск выполнялся сразу по всему компу по определенному разрешению. Чтоб я задал  нужное мне разрешение в скрипте и где нить в папке (можно на компе, можно по сети) все эти новые файлы сложились

Всего записей: 4 | Зарегистр. 22-04-2010 | Отправлено: 15:29 30-04-2010
vlth

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

Цитата:
Ругается, выдает ошибку: Разрешение отклонено.

Подробнее можно? Что за разрешение?
 

Цитата:
Мне надо чтобы не было диалога и поиск выполнялся сразу по всему компу по определенному разрешению

А здесь что за "разрешение"? - первое и это - одно и то же?
 

Цитата:
Мне надо чтобы не было диалога и поиск выполнялся сразу по всему компу по определенному разрешению. Чтоб я задал  нужное мне разрешение в скрипте и где нить в папке  

1. Не лучшая идея: у Вас все новые файлы, включая системные, будут перемещены. Понимаете последствия? К тому же это будет о-о-очень не быстро.
2. Последнее "разрешение" - это что? Что значит "задать его в скрипте"?

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 18:57 30-04-2010
kae08

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста! Пишу «удобняшку» для одной задачи, в процессе исполнения  
скрипта  открываю несколько окон   Explorer'а, в определенный момент необходимо все  
окна закрыть. Нашел в примерах такой код:

Код:
'Закрытие всех окон Explorer'а
Set objShellApp = CreateObject("Shell.Application")
Set objShellWin = objShellApp.Windows
MsgBox "Окон Explorer'а всего - " & objShellWin.Count
For i=0 To objShellWin.Count-1
    objShellWin.Item(i).Quit
Next
 

Все красиво работает, когда открыто одно или два окна,  если три окна то, два  
закрываются  третье остается открытым и скрипт вываливается в ошибку, если  
12 окон, то после ошибки 5 остаются  открытыми, если 6 окон, то два остаются  
открытыми…
Понимаю, что задача простейшая, но, ни как не могу найти, в чем причина  

Всего записей: 20 | Зарегистр. 23-02-2005 | Отправлено: 00:06 03-05-2010
Hugo121

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может надо делать так же, как и с удалением строк/колонок в Excel:

Код:
For i=objShellWin.Count-1 To 0 Step -1  
    objShellWin.Item(i).Quit  
Next  
 

Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 16:12 03-05-2010 | Исправлено: Hugo121, 18:11 03-05-2010
kae08

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hugo121, СПАСИБО!  
Все отлично работает!

Всего записей: 20 | Зарегистр. 23-02-2005 | Отправлено: 19:22 03-05-2010
evsand

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlth
Первое разрешение это в ошибке. Строка 36 символ 1 Ошибка: Разрешение отклонено
 
А второе разрешение - это например *.wav.

Всего записей: 4 | Зарегистр. 22-04-2010 | Отправлено: 09:55 04-05-2010
Hugo121

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

Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 11:23 04-05-2010
vlth

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

Код:
36:  For Each objFile In fld.Files  
37:      If (Now - objFile.DateLastModified) < DaysQ + 1 And _
38:          LCase(fso.GetExtensionName(bjFile)) = "wav" Then  

 
Что может у Вас в строке 36 вызывать ошибку и, тем более, как это связано с расширением файла, я не понимаю.
 
Ошибка выполнения скрипта, по моим представлениям, может возникнуть только в случаях, когда по каким-либо причинам невозможно переместить файл (если он открыт, например).
Но эту ошибку я здесь отрабатывать не стану: оставлю эту задачу Вам для самостоятельного выполнения.
 
Здесь в строке 38 задана маска поиска файлов - расширение "wav".

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 14:49 04-05-2010
GRom_V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите!!! оч надо!
Есть прога. мне ее надо запустить, и в окошке вбить текст. Чтоб это сделать нужно активировать окно, чтоб оно поверх всех окон было. Название экзешника - прога. Название окна - окно Делаю так:
 
set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.Run "C:\папка\прога.exe"  
WScript.Sleep 4000  
WshShell.AppActivate "окно"  
\\сдесь вбивается текст
 
Но если после запуска открыть другое окно любой программы, то все прахом. Как заставить нужное окно находится на поверхности? WshShell.AppActivate "окно"  чет не катит...

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 09:30 05-05-2010
evsand

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

Всего записей: 4 | Зарегистр. 22-04-2010 | Отправлено: 16:05 05-05-2010 | Исправлено: evsand, 16:06 05-05-2010
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evsand, ну как просили: разве "сложить" - это в данном случае не синоним "переместить"?
 
Тогда замените
Код:
objFile.Move T_path & "\"
на
Код:
objFile.Copy T_path & "\"

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 16:56 05-05-2010
obbnd

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста, если не сложно, со скриптом.
Должно происходить следущее:
1. Скачивается файл http://torstat.xenobite.eu/ip_list_all.php/Tor_ip_list_ALL.csv
Содержимое файла представляет собой список ip адресов в столбик:
12.161.212.22
18.18.6.194
18.42.3.252
...
2. Этот список необходимо сделать таким:
12-161-212-22/12.161.212.22
18-18-6-194/18.18.6.194
18-42-3-252/18.42.3.252
...
3. И сохранить как текстовый файл с расширением txt
 
Заранее спасибо.

Всего записей: 6 | Зарегистр. 10-02-2007 | Отправлено: 23:24 10-05-2010
Hugo121

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

Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 11:07 11-05-2010 | Исправлено: Hugo121, 11:08 11-05-2010
seforsource



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

Код:
Option Explicit
rem Описание констант
rem Описание переменных
Dim result
result = PerformMutation("E:\Tor_ip_list_ALL.csv")
rem Функции и процедуры
Function PerformMutation(ByVal file_) 'Ни чего не возвращает, но может
    On Error Resume Next
        Const delim = "."
        Const delimer = "-"
        Const divider = "/"
        Const IomodeRead = 1
        Const IomodeWrite = 2
        Dim FSO, StreamRead, StreamWrite, TextLine
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set StreamRead = FSO.OpenTextFile(file_, IomodeRead)
        Set StreamWrite = FSO.CreateTextFile(file_ & ".txt", IomodeWrite)
        If Err.Number = 0 Then
            While Not StreamRead.AtEndOfStream
                TextLine = StreamRead.ReadLine
                TextLine = Join(Split(TextLine, delim), delimer) & divider & TextLine
                StreamWrite.WriteLine TextLine
            Wend
        End If
        StreamRead.Close
        StreamWrite.Close
    Err.Clear
    rem возврат значения функции PerformMutation = true
End Function

Всего записей: 46 | Зарегистр. 05-05-2009 | Отправлено: 11:15 11-05-2010
igor_andreev

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

Цитата:
Код без скачивания

А скачивание вот например:
http://forum.ru-board.com/topic.cgi?forum=5&topic=4582&start=247&limit=1&m=1#1

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 11:40 11-05-2010
Hugo121

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, собрал на другом примере из этой ветки - работает. Позже на этом примере опробую...
 
Добавлено:
Вполне неплохо работает:
заготовка
 
Вариант без записи csv на диск

Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 12:00 11-05-2010 | Исправлено: Hugo121, 15:25 11-05-2010
Black_Lung



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как без "if then' обработать много неизвестных параметров которые могут иметь 1 из 10 разных значений и для каждого значения своя процедура.
 
C 10 "if then" тоже работает но как-то некрасиво оно, а еще количество значений если увеличится например до 100.

Всего записей: 275 | Зарегистр. 09-10-2008 | Отправлено: 17:51 12-05-2010
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Black_Lung
Можно select case использовать.
Что-то типа:
Код:
 
num = 2
msgbox MyVal(num)
 
function MyVal(value)  
   select case value
      case 1 MyVal = "выбран 1-й пункт"
      case 2 MyVal = "выбран 2-й пункт"
      case 3 MyVal = "выбран 3-й пункт"
      case 4 MyVal = "выбран 4-й пункт"
   end select
end function

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 18:39 12-05-2010
Mark_Titov



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток всем...
Подскажите пож-ста как можно реализовать отправку почты по именно в локалке при помощи скрипта?
Желательно с использованием уч записи MS Exchange 2003/2007...
Думю что должны быть варианты ведь, весь инет перелопатил, так и не нашел ничего...
Система ХР, есть домен, права админа...
 
Очень нужно, помогите плиззз...
Заранее благодарю...

Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 00:14 13-05-2010
   

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