Я ищу FTP-программу, которая может загружать файлы из проводника Windows.
"Cute ftp" имеет такую опцию. Вы можете загружать напрямую из "контекстного меню", но, похоже, он загружает только в корневую папку. Мне нужно программное обеспечение для загрузки в правильную папку с использованием какого-то сопоставления.
решение1
Загрузите файлы на FTP-сервер с помощью встроенного FTP-клиента Windows.
Вы можете загружать файлы по FTP только с помощью встроенных утилит Windows. Просто создайте скрипт CMD с кодом ниже и поместите ярлык в папку sendto ( Win+ R→ shell:sendto) для быстрого доступа к контекстному меню
Запрос на функцию "mapped folder" тоже будет работать. Пользователи Filezilla знают эту возможность каксинхронизированный просмотр.
@echo off
set inputfolder="%~dp1"
set mappedfolder=%inputfolder:C:\MAPPEDFOLDER1\MAPPEDFOLDER2\=%
set mappedfolder=%mappedfolder:"=%
set ftp=%temp%\script.ftp
>> %ftp% ECHO open 123.4.567.89
>> %ftp% ECHO user FTPUSER FTPPASSWORD
>> %ftp% ECHO cd "%mappedfolder%"
>> %ftp% ECHO binary
>> %ftp% ECHO send %1
>> %ftp% ECHO disconnect
>> %ftp% ECHO quit
ftp.exe -n -i -s:%ftp%
del %ftp%
pause
exit
Введите ваши учетные данные FTP
- Замените
FTPUSER
,FTPPASSWORD
и IP-адрес на ваши собственные данные для входа на FTP. - Перейдите
C:\MAPPEDFOLDER1\MAPPEDFOLDER2\
в отображенную папку на локальном ПК.
Примечание:Если вы загружаете файл из-за пределов вашей сопоставленной папки, файл по умолчанию будет сохранен в корневой папке FTP.
Как работает скрипт(Пример файла C:\some\folder\input.txt
)
- В качестве входной папки сохраняется только путь к выбранному файлу:
C:\some\folder\
- Третья строка сравнивает входной путь и ваш жестко закодированный отображенный путь (например.
C:\some\
). В результате вы получаетеfolder\
отображенную папку. Позже скрипт пытается открыть эту папку в вашем корневом каталоге FTP - Строка 5-12 создает временный текстовый файл (script.ftp) через несколько команд echo. Все ваши команды FTP записываются в этот текстовый файл.
- Встроенный FTP-клиент Windows вызывается
ftp.exe -n -i -s:%ftp%
и получает файл команды FTP в качестве параметра. Поэтому он знает, что делать:- Сначала FTP-программа открывает соединение с вашим сервером, используя ваши учетные данные.
cd "%mappedfolder%"
используется для синхронизации вашего входного пути и структуры пути FTP. К счастью, он может открывать несколько папок одним вызовом.binary
это просто настройка по умолчанию для метода передачи файловsend %1
наконец отправляет наш файл.аргумент пакета%1
представляет собой полное имя входного файла- После завершения передачи отключаемся от FTP-сервера и закрываем FTP-клиент.
- Последние три строки предназначены только для очистки следов, например, удаления файла команды FTP, и
pause
дадут вам возможность увидеть вывод скрипта, если все прошло успешно.