Ru-Board.club
← Вернуться в раздел «Программы»

» wput - аналог wget, но для закачки файлов

Автор: IronMan182
Дата сообщения: 25.01.2012 13:07
Я так понял залить файл Единичный можно только так ??


Цитата:
rem Если указать абсолютный путь для Единичного файла то утилита создать все дерево директорий на FTP, изменить нельзя
cd /D "D:\heap"
%~dp0\wput\wput.exe -nd test.txt ftp://
Автор: Victor_VG
Дата сообщения: 25.01.2012 15:16
Aganel

Воспользуйтесь не TC, а той же системной консолью - ТС не полностью выводит на экран сообщения консоли.

P.S.

И к Вашему сведению, команды ], ... bzip2, cp, gzip, ls, mv, rm, ... tar, ... z. вообще-то не изобретение г-на Торвальдса как тот любит вещать на всех перекрёстках, а появились в своём нынешнем виде по мере развития созданной в 1967 году в исследовательском центре Bell Labs фирмы AT&T операционной системы UNIX - самой первой версии ОС UNIX, и только после 1993 года г-н Торвальдс воспользовался их исходниками при создании своего клона UNIX названного им LINUX и присвоил себе честь создания всего, что до него человечество успело создать, включая и каменный топор. Очень, очень творчески одарённый товарищЪ, прямо гений всех времён и народов. Что бы без него делали? Наверно б до сих пор по деревьям как мартышки скакали.
Автор: Dead_Moroz
Дата сообщения: 02.02.2012 09:24
Есть каталог на Windows-машине, в который разные программы пишут разную хрень. Имена файлов генерируются по никому неизвестному принципу, но - надо на ftp выгружать файлы по маске z*.*. Сделать url.txt не представляется возможным, поскольку имена файлов заранее неизвестны, создать url.txt чем-то вроде dir z*.* > url.txt - тоже не вариант, поскольку я получу, кроме имен файлов, еще кучу бесполезной информации в этом файле. Можно ли решить эту задачу с помощью wput?

Да, заметил странность: пробовал на той же Windows-машине в тестовых целях загрузить файл на ftp с последующим удалением из источника -
wput -R file.ext ftp://name:passwprd@ip - получил сообщение:


Цитата:
# File succesfully transferred
...
Removing source file 'file.ext'
FINISHED --09:18:28--

однако, файл-источник не был удален. Почему так?

upd:
ок, список файлов я получу с помощью dir z*.* /B - будем считать, одна проблема решена. А почему у меня -R не работает? Права на файловой системе позволяют удалять эти файлы.
Автор: slech
Дата сообщения: 02.02.2012 10:52

Цитата:
А почему у меня -R не работает? Права на файловой системе позволяют удалять эти файлы.

а файлы переписались на получателя ?
Автор: Dead_Moroz
Дата сообщения: 02.02.2012 11:41
slech

Цитата:
а файлы переписались на получателя ?

Да:

Цитата:
# File succesfully transferred
Автор: IronMan182
Дата сообщения: 02.02.2012 15:11
IronMan182
Меня никто нелюбит
Автор: d0uble zer0
Дата сообщения: 15.02.2012 18:40
Можно ли как-то заставить wput сохранять оригинальные даты создания исходных файлов при передаче? А то он записывает их с текущей датой, когда передал.
Автор: sanb
Дата сообщения: 15.02.2012 18:48
slech
описание в шапке нифига не соответствует официальному ...
Автор: TTT1805
Дата сообщения: 28.02.2012 01:49
Подскажите, пожалуйста, кто-то сталкивался с проблемой, нужно скопировать файлы с помощью wput, но user=user@server, т.е. строка с фтп выглядит так ftp://user@server:password@server и wput никак не может прилогиниться.
Автор: ZarkSPb
Дата сообщения: 26.09.2012 20:10
Подскажите, на одном компьютере
wput ftp://user@server:password@server
работает, а на другом выдает слудающую ошибку:
Warning: No local file specified and no file found from URL.
Assuming the current working directory is to be uploaded to the remote server.
Автор: ASE_DAG
Дата сообщения: 26.09.2012 20:24
ZarkSPb
Это не ошибка (error), это предупреждение (warning). Иначе говоря, утверждать на основании этого ответа, что wput не работает нельзя.
Автор: ZarkSPb
Дата сообщения: 26.09.2012 20:30
Да, спасибо, понял. Просто на компе, где я назвал "не работает" несколько десятков тысяч файлов во вложенных папках, и при этом WPUT их зачем-то все пересчитывает (это видно при ключе -d), а только потом начинает копировать. Терпения нехватало дождаться.
Автор: ASE_DAG
Дата сообщения: 26.09.2012 20:31
Вам перевести, что он вам ответил? Пожалуйста: «Предупреждение: Не указан локальный файл, и не найдено файлов по URL’у. Считаем, что требуется загрузить текущую директорию на удаленный сервер».

Если вам надо загружать не текущую директорию, а что-то иное, то очевидно надо указать, что.
Автор: ZarkSPb
Дата сообщения: 26.09.2012 20:36
Как бы отключить у него этот пересчет перед копированием?
Автор: ASE_DAG
Дата сообщения: 26.09.2012 21:02
ZarkSPb
Насколько я понимаю, никак. Возьмите другой FTP-клиент, lftp, например.
Автор: Pifrin
Дата сообщения: 23.11.2013 23:24
Доброго времени суток! Господа, есть вопрос
при использование wput появилась такая проблема:

скрипт
for /l %%i in (1,1,20) do d:\wput -u --basename=d:\путь ftp://имя:пасс@ip:port\хочу сюда d:\хочу отсюда\архив%%i.rar

запускается cmd с таким скриптом, каждый архив имеет размер 2гига, все нормально , все заливается, но трабл в том что скорость от 300 до 400 и время на заливку 1го файла уходит 1.30-1.40 часа. если запускаю 2мя потоками то все ок но времени ест столько же. Если запуск 3-4 потоков то скорость делится типа на всех равномерно. приходится лить 2мя потоками. А архивов много то это занимает много времени.

Долго грешил на ftp iis в win7. но сегодня попробовал использовать другую прогу, а именно filezilla и многое стало на свое место. filezilla заливает 10 файлов одновременно со скоростью 1mb на каждый, а по времени получается около 40 минут на 10 файлов... и опять все отлично, но тут другая проблема все надо делать ручками, а не скриптом.

Отсюда вопрос, что можно сделать с wputom чтобы он нормально заливал или посоветуйте нормальную прогу которая поддерживает командную строку типа filezilla
Заранее огромное спасибо

Автор: slech
Дата сообщения: 24.12.2013 15:07
Pifrin
Я пока эту проблему решил изменением источника и получателя.
То есть я не использую wput, а использую wget - пришлось поднять ftp сервер там где был wput и не справлялся.
Пока так вроде. Это не решение вашего вопроса, но решение которое пока работает.
Автор: pzhkv
Дата сообщения: 18.01.2014 13:06
Может кому-нибудь пригодится.

dir C:\%myfolder%\ /b /s /on /a-d >C:\utils\wput\url.txt
cd C:\utils\wput\
for %%i in (url.txt) do (set /a size=%%~Zi)
if %size% == 0 goto resume
cd C:\utils\wput\
wput -v -R -nd -i C:\utils\wput\url.txt --basename=C:\%myfolder%\ ftp://user:pass@%my_ftp_site%\subfolder\
@echo off
GOTO done
:resume
cls
@echo Nothing to upload
pause
exit
:done
@echo All done!
pause

сначала в url.txt командой dir c параметрами пишутся имена файлов с относительными путями
потом идет проверка размера самого url.txt
если он нулевого размера, то отгружать нечего, заканчиваем
если не нулевой, то отгружаем согласно списка
сделал сей батник благодаря разным форумам по скриптингу плюс информация топика. сам бы в жизни не додумался
Автор: Victor_VG
Дата сообщения: 18.01.2014 21:25
pzhkv

Тоже с вашего разрешения чуток подскажу - команду cd C:\utils\wput\ чуть поменяйте - cd /D C:\utils\wput\ = ключ /D в команде chwd (cd) обеспечит немедленный переход в нужный каталог иначе нужно будет использовать иную конструкцию: cd c:&&cd C:\utils\wput\ &&cd c: - "особенность" CMD, хотя и не лучшая. Я привык к bash а там таких вывертов нет и спасибо ребята из Far TEAM подсказали а то приходилось для междисковых переходов в SDK shell плясать с бубном.
Автор: opt_step
Дата сообщения: 22.10.2014 19:45
wput c:\1.txt ftp://***:***@****.**/папка1/папка2/1.txt
пишет логин инкоррект, что не так ?
Автор: Pasha_ZZZ
Дата сообщения: 22.10.2014 20:21
opt_step
А в логине/пароле есть какие-то спецсимволы, кроме буквоцифр (латинских букв)?
Автор: opt_step
Дата сообщения: 22.10.2014 20:28
Pasha_ZZZ

Цитата:
А в логине/пароле есть какие-то спецсимволы, кроме буквоцифр (латинских букв)?

в логине есть спец. символы
Автор: Pasha_ZZZ
Дата сообщения: 22.10.2014 21:15
opt_step
Цитата:
в логине есть спец. символы
В cmd.exe есть много спецсимволов, которые надо экранировать. Для начала попробуйте вместо аблолютного пути указать имя файла из текущего каталога (просто 1.txt) и заключить весь URL в кавычки.
Не поможет - тогда экранируйте спецсимволы в логине знаком ^
Автор: opt_step
Дата сообщения: 22.10.2014 21:23
Pasha_ZZZ

Цитата:
В cmd.exe есть много спецсимволов, которые надо экранировать. Для начала попробуйте вместо аблолютного пути указать имя файла из текущего каталога (просто 1.txt) и заключить весь URL в кавычки

не катит

Цитата:
Не поможет - тогда экранируйте спецсимволы в логине знаком ^

можно подробней? у меня в логине нижнее подчеркивание
Автор: Pasha_ZZZ
Дата сообщения: 22.10.2014 21:28
opt_step
Цитата:
можно подробней?
Экранирование - это простановка перед символом префикса, чтобы то не считался спецсимволом какой-либо среды.
В cmd.exe это ^ (крышка).
Например, вместо просто символа ^ надо указывать ^^; вместо | - ^| и т.п.
Автор: opt_step
Дата сообщения: 22.10.2014 21:36
Pasha_ZZZ
все равно логин инкоррект
wput c:\1.txt ftp://opt^_step:***@****.**/папка1/папка2/1.txt
Автор: Pasha_ZZZ
Дата сообщения: 22.10.2014 21:42
opt_step
Без логов сервера никак. Или поднять свой сервер (хотя бы локальный), задать ту же пару логин/пароль и снять с него логи.
Автор: opt_step
Дата сообщения: 22.10.2014 21:43
Pasha_ZZZ

Цитата:
Без логов сервера никак

спс буду думать дальше
Автор: kreotodr3
Дата сообщения: 25.03.2015 15:04
Добрый день!
Подскажите, и можно ли отправлять/создавать папки с помощью данной утилиты?

Вообще с помощью чего можно реализовать следующий набор (без участия пользователя)
1. Заход на ФТП с именем и паролем
2. Создание папки
3. Заливка файлов в папку.
Автор: Victor_VG
Дата сообщения: 25.03.2015 15:08
kreotodr3

Решается с учётом возможностей утилиты - имя+пароль, каталог и список файлов задаёте в командной строке, каталог если не существует будет создан автоматически (отменяется ключом --no-directories). Ман страница с описанием команд тут Wput(1).

Страницы: 12

Предыдущая тема: Аналог RemoteApp в Windows Server 2008


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.