If (Proxy != "") AccessType=3 Else AccessType=1 ;#define INTERNET_OPEN_TYPE_PRECONFIG 0 // use registry configuration ;#define INTERNET_OPEN_TYPE_DIRECT 1 // direct to net ;#define INTERNET_OPEN_TYPE_PROXY 3 // via named proxy ;#define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4 // prevent using java/script/INS
;global ic_hInternet global ic_hInternet,io_hInternet, hModule hModule := DllCall("LoadLibrary", "str", "wininet.dll")
; This function is made by fincs ; http://www.autohotkey.com/forum/viewtopic.php?p=246250#246250 FTP_GetCurrentDirectory(hConnect,ByRef DirName){ VarSetCapacity(DirName, 256) VarSetCapacity(MaxDirN, 4) NumPut(256, MaxDirN) r := DllCall("wininet\FtpGetCurrentDirectoryA", "uint", hConnect, "str", DirName, "str", MaxDirN) If (ErrorLevel or !r) Return 0 Else Return 1 }
В начало скрипта записываем данные от FTP:
Код
Server = ; хост Port = 21 ; порт User = ; юзер Pwd = ; Пароль
Потом надо подключится к самому FTP
Код
hConnect := FTP_Open(Server, Port, User, Pwd)
Далее можно использовать всё что есть в инклуде Например загружаем фаил:
Код
Server = ; хост Port = 21 ; порт User = ; юзер Pwd = ; Пароль hConnect := FTP_Open(Server, Port, User, Pwd) LocalFile = C:\test.txt FTP_PutFile(hConnect,LocalFile, NewRemoteFile="", Flags=0) FTP_Close()
Удаления файла:
Код
Server = ; хост Port = 21 ; порт User = ; юзер Pwd = ; Пароль hConnect := FTP_Open(Server, Port, User, Pwd) FileName = test.txt FTP_DeleteFile(hConnect,FileName) FTP_Close()
Насчёт FTP_Close() её используем после всех действий что-бы закрыть подключение Важно: Если перед действиями не поставить
Код
hConnect := FTP_Open(Server, Port, User, Pwd)
То они работать не будут.
Ещё пару примеров:
Создание папки :
Код
Server = ; хост Port = 21 ; порт User = ; юзер Pwd = ; Пароль hConnect := FTP_Open(Server, Port, User, Pwd) DirName = FTPPAPKA FTP_CreateDirectory(hConnect,DirName) FTP_Close()
МОЙ ВК - https://vk.com/gospodin_buero
Сообщение отредактировал Artem_Buero - Понедельник, 21.04.2014, 17:44
Ребят, инклуд поставил но не работает ни отправка файла не создание папки на сервере уверен что пишу все правильно логин пароль хост это все точно правильно! Хелп
грузит файлы названием в виде циферок и без разширения
Код
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#Include FTP.ahk
Server = 192.168.1.6 ; хост Port = 3721 ; порт User = ; юзер Pwd = ; Пароль
FTPCommandFile = %A_ScriptDir%\FTPCommands.txt FileDelete %FTPCommandFile% FTPserver = айпи базы FTPlogin = имя базы FTPpass = пароль
FileAppend, ( open %FTPserver% %FTPlogin% %FTPpass% binary cd папка на сервере put путь к файлу на ПК quit ), %FTPCommandFile% RunWait %comspec% /c ftp.exe -s:"%FTPCommandFile%",,hide FileDelete, %FTPCommandFile%
Такой вариант не проще? Может Ваш и быстрее не замерял.