Войти

Показать полную графическую версию : [решено] Залив файлов на хостинг


LepeT
31-10-2014, 17:58
Нужен скрипт закачивающий файлы с пк на хостинг,есть фтп доступ,должно качаться как минимум 6 файлов

Iska
31-10-2014, 19:57
Например: VBScript: работа с протоколом FTP с помощью компонента Chilkat FTP (http://forum.script-coding.com/viewtopic.php?id=2820).

LepeT
31-10-2014, 22:30
http://f5.s.qip.ru/NGYkK7LX.png первый пример

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

LepeT
31-10-2014, 22:46
Или если нельзя без софта по фтп,то хотя бы на почту

Iska
01-11-2014, 01:30
http://f5.s.qip.ru/NGYkK7LX.png первый пример »
Чтение документации поможет понять, что библиотеку нужно зарегистрировать в системе посредством «rundll32.exe».

нужно без доп софта »
Описывайте техзадание детально:

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

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

Martia
01-11-2014, 02:13
Если не считать запрет на использование стороннего софта, то шикарное решение - это крошечная, простая, бесплатная утилита ftpuse (сайт разработчика (http://www.ferrobackup.com/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
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

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




© OSzone.net 2001-2012