Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Залив файлов на хостинг (http://forum.oszone.net/showthread.php?t=290257)

LepeT 31-10-2014 17:58 2423019

Залив файлов на хостинг
 
Нужен скрипт закачивающий файлы с пк на хостинг,есть фтп доступ,должно качаться как минимум 6 файлов

Iska 31-10-2014 19:57 2423071

Например: vbscript: работа с протоколом FTP с помощью компонента Chilkat FTP.

LepeT 31-10-2014 22:30 2423106

http://f5.s.qip.ru/NGYkK7LX.png первый пример

нужно без доп софта

LepeT 31-10-2014 22:46 2423112

Или если нельзя без софта по фтп,то хотя бы на почту

Iska 01-11-2014 01:30 2423154

Цитата:

Цитата LepeT
http://f5.s.qip.ru/NGYkK7LX.png первый пример »

Чтение документации поможет понять, что библиотеку нужно зарегистрировать в системе посредством «rundll32.exe».

Цитата:

Цитата LepeT
нужно без доп софта »

Описывайте техзадание детально:

1. Режим ftp — активный или пассивный?
2. Доступ анонимный или логин/пароль?
3. О каком хостинге конкретно идёт речь?
4. Чем именно не устраивает сторонняя утилита/библиотека?

Цитата:

Цитата LepeT
Или если нельзя без софта по фтп,то хотя бы на почту »

5. Опишите, каким образом можно «заливать файлы на хостинг» посредством отправки почтового сообщения. Для меня это новость.

Martia 01-11-2014 02:13 2423159

Если не считать запрет на использование стороннего софта, то шикарное решение - это крошечная, простая, бесплатная утилита ftpuse (сайт разработчика).
Она монтирует FTP каталог как логический диск.
А дальше - можно крутить-вертеть файлами, насколько фантазии хватит.

Пример bat-файла, заливающего новые файлы из локальной папки на сервер:

Код:

ftpuse r: ftpserver.com/data passworrra /USER:userra
xcopy C:\NewFilesDir r: /Z /Y /D
ftpuse r: /delete

C:\NewFilesDir - локальная папка, в которой появляются новые фалы
ftpserver.com/data - адрес FTP сервера и директрии, в которую нужно помещать эти новые файлы
userra - имя пользователя для доступа к FTP-серверу
passworrra - пароль для FTP-сервера
r: - имя создаваемого локального диска

Iska 01-11-2014 06:56 2423184

LepeT, примерная болванка:
Код:

Option Explicit

Const SHCONTF_NONFOLDERS    = &H00040
Const SHCONTF_INCLUDEHIDDEN = &H00080


Dim arrFiles
Dim strFTPFolder

Dim objFSO
Dim objShell

Dim strFile

Dim objDestFolder

Dim lngCurrSize

Dim objFolderItems
Dim objFolderItem


arrFiles = Array( _
        "D:\Install\Mozilla Firefox\Mozilla Firefox 28.0\Firefox Setup 28.0.exe", _
        "D:\Install\Mozilla Firefox\Mozilla Firefox 28.0\FirefoxPortable_28.0_Russian.paf.exe", _
        "D:\Install\Mozilla Firefox\Mozilla Firefox 33.0.2\Firefox Setup 33.0.2.exe", _
        "D:\Install\Mozilla Firefox\Mozilla Firefox 33.0.2\FirefoxPortable_33.0.2_Russian.paf.exe" _
)

strFTPFolder = "ftp://User:Password@my.ftpserver.com/DestFolder"


Set objFSO  = WScript.CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("Shell.Application")

Set objDestFolder = objShell.NameSpace(strFTPFolder)

If Not objDestFolder Is Nothing Then
        For Each strFile In arrFiles
                If objFSO.FileExists(strFile) Then
                        WScript.Echo strFile, "--->", objDestFolder.self.Path
                       
                        lngCurrSize = -1
                       
                        objDestFolder.CopyHere strFile
                       
                        Do Until lngCurrSize = objFSO.GetFile(strFile).Size
                                Set objFolderItems = objDestFolder.Items
                               
                                objFolderItems.Filter SHCONTF_NONFOLDERS + SHCONTF_INCLUDEHIDDEN, "*.*"
                               
                                For Each objFolderItem In objFolderItems
                                        If objFolderItem.Name = objFSO.GetFileName(strFile) Then
                                                lngCurrSize = objFolderItem.Size
                                        End If
                                Next
                               
                                WScript.Sleep 100
                               
                                Set objFolderItems = Nothing
                        Loop
                Else
                        WScript.Echo "Can't find source file [" & strFile & "]."
                End If
        Next
Else
        WScript.Echo "Can't connect into FTP folder [" & strFTPFolder & "]."
        WScript.Quit 2
End If

Set objShell = Nothing
Set objFSO  = Nothing

WScript.Quit 0

Имейте в виду: в случае возникновения ошибки при копировании код останется работать вечно.


Время: 03:40.

Время: 03:40.
© OSzone.net 2001-