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

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

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

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

mozers



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

Код:
' Файл getshares.vbs
' Поиск компьютеров в локальной сети и общих ресурсов на каждом компьютере
' Запуск из консоли: cscript getshares.vbs
Set WshShell = CreateObject("WScript.Shell")
Set
FSO = CreateObject("Scripting.FileSystemObject")
'
Dim regEx_SrchCmps, MatchCmps, Cmps      ' Copmputers
Dim regEx_SrchDir, MatchDir, Dirs      ' Directories
' Computers
Set regEx_SrchCmps = New RegExp         ' Create a regular expression.
regEx_SrchCmps.Pattern = "\\\\(\w|[-.])+"         ' Set pattern.
regEx_SrchCmps.IgnoreCase = True         ' Set case insensitivity.
regEx_SrchCmps.Global = True         ' Set global applicability.
' Directories
Set regEx_SrchDir = New RegExp         ' Create a regular expression.
regEx_SrchDir.Pattern = ".+(?=\s{2,}.{1,10}\s{5,}\x0D\x0A)"         ' pattern dir search
regEx_SrchDir.IgnoreCase = True         ' Set case insensitivity.
regEx_SrchDir.Global = True         ' Set global applicability.
' Search computers
Str = RunConsole("net view")
'
Set Cmps = regEx_SrchCmps.Execute(Str)   ' Execute search.
'
For Each MatchCmps in Cmps      ' Iterate Matches collection.
    ' Search directories in each finded computer
   
On Error Resume Next
   
Str = RunConsole("net view "+MatchCmps.Value)
'    WScript.Echo "scanning: "+MatchCmps.Value+Chr(10)+Str    ' DEBUG
   
Set Dirs = regEx_SrchDir.Execute(Str)   ' Execute search.
   
For Each MatchDir In Dirs
        'WScript.Echo MatchCmps.Value+"\"+MatchDir.Value
       
WScript.Echo strConvert(MatchCmps.Value+"\"+MatchDir.Value,"Windows-1251","cp866")
   
Next
'    WScript.Echo "end scanning"    ' DEBUG
   
On Error GoTo 0
Next
'
Set SrchCmps = Nothing
Set
SrchDir = Nothing
Set
regEx_SrchCmps = Nothing
Set
regEx_SrchDir = Nothing
WScript.Quit 0
'
'=============================================================================
 
'=============================================================================
Function StrConvert(strText, strSourceCharset, strDestCharset)
   
Const
adTypeText = 2
   
Const adModeReadWrite = 3
   
Dim objStream
    Set objStream = WScript.CreateObject("ADODB.Stream")
 
   
With
objStream
        .Type = adTypeText
        .Mode = adModeReadWrite
        .Open
        .Charset = strSourceCharset
        .WriteText strText
        .Position = 0
       
.Charset = strDestCharset
        strConvert = .ReadText
    End With
 
    Set
objStream = Nothing
End Function
 
'=============================================================================
Function RunConsole(command)
   
Dim
ret
    ret = WshShell.Run("%comspec% /c "+command+" > ""%temp%\out.tmp""", 0, true)
   
If
ret=0 Then
        With
FSO.OpenTextFile(WshShell.ExpandEnvironmentStrings("%temp%\out.tmp"))
           
RunConsole = .ReadAll
            .Close
        End With
    End If
End Function

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 16:00 02-10-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум 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