Advertisement
Deniseo

FTPSend

Mar 1st, 2016
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Dim objArgs, Server, DomainName, Port, User, Pass, Folder, rootFolder, CloseDOS, DosStr
  2.  
  3. '=== Данные учетной записи FTP ===
  4. Server = "server10.hostinger.ru"
  5. DomainName = "домен"
  6. Port = "21"
  7. User = "логин"
  8. Pass = "пароль"
  9.  
  10. 'Папка на FTP, куда будут складываться файлы
  11. rootFolder = "public_html" 'корневая
  12. Folder = "" 'подкаталог
  13.  
  14. 'Флаг - закрывать консольное окно после передачи данных
  15. CloseDOS = True
  16. if not CloseDOS then DosStr = "&pause"
  17.  
  18. Set objArgs = wscript.Arguments
  19. If objArgs.Count <> 0 Then 'Проверяем аргументы (Drag & Drop "путь к файлу")
  20. Dim FName, WSHShell, Link, FF, TmpFile, objFile
  21.  
  22. 'Получаем имя файла
  23. FName = Mid(objArgs(0), InStrRev(objArgs(0), "\") + 1)
  24. 'Интернет-адрес
  25. Link = DomainName & "" & Folder & "/" & FName
  26.  
  27. Set WSHShell = CreateObject("WScript.Shell")
  28. Set objFSO = CreateObject("Scripting.FileSystemObject")
  29.  
  30. 'Копируем в буфер обмена Windows
  31. WSHShell.Run "cmd.exe /C <nul set /p ""=" & Link & """ | CLIP", 0, False
  32.  
  33. 'Формируем строку коннекта для утилиты FTP
  34. TmpFile = WSHShell.ExpandEnvironmentStrings("%temp%") & "\temp_" & CInt(Rnd() * 1000)
  35. 'ForAppending = 8, ForReading = 1, ForWriting = 2
  36. Set objFile = objFSO.OpenTextFile (TmpFile, 2, True, 0) 'True - создать файл
  37. objFile.WriteLine "open " & Server & " " & Port
  38. objFile.WriteLine User
  39. objFile.WriteLine Pass
  40. objFile.WriteLine "cd " & rootFolder & "/" & Folder
  41. objFile.WriteLine "binary"
  42. objFile.WriteLine "put """ & objArgs(0) & """"
  43. objFile.WriteLine "disconnect"
  44. objFile.WriteLine "bye"
  45. objFile.Close
  46.  
  47. 'Добавляем утилиту FTP в исключения файрвола и запускаем
  48. WSHShell.Run "cmd.exe /c ""(netsh firewall add allowedprogram """ & WSHShell.ExpandEnvironmentStrings("%windir%") & _
  49. "\system32\ftp.exe"" ENABLE& ftp -s:""" & TmpFile & """" & DosStr & ")""", 1, True
  50.  
  51. objFSO.DeleteFile TmpFile, True
  52.  
  53. Set WSHShell = Nothing: Set objFile = Nothing: Set objFSO = Nothing
  54.  
  55. wscript.echo "Путь к файлу на FTP: " & vbLf & Link & String(2, vbLf) & _
  56. "Путь к файлу скопирован в буфер обмена Windows."
  57. Else
  58. wscript.echo "Перетащите файл на VBS-сценарий"
  59. End If
  60. Set objArgs = Nothing
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement