我正在寻找一个可以从 Windows 资源管理器上传的 ftp 软件。
“Cute ftp” 有一个这样的选项。您可以直接从“上下文菜单”上传,但它似乎只能上传到根文件夹。我需要软件使用某种映射上传到正确的文件夹。
答案1
使用 Windows 内置 FTP 客户端将文件上传到 FTP 服务器
您只能使用 Windows 板载实用程序通过 FTP 上传文件。只需使用以下代码创建一个 CMD 脚本,并在 sendto 文件夹中放置一个快捷方式 ( Win+ R→ shell:sendto),即可快速访问上下文菜单
“映射文件夹”功能请求也将起作用。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 行通过多个 echo 命令创建一个临时文本文件 (script.ftp)。所有 FTP 命令都写入此文本文件中。
- 调用 Windows 内置 FTP 客户端
ftp.exe -n -i -s:%ftp%
并获取 FTP 命令文件作为参数。因此它知道该做什么:- 首先,FTP 程序会打开与你的服务器的连接,并获取你的登录凭据
cd "%mappedfolder%"
用于同步您的输入路径和 FTP 路径结构。幸运的是,它可以通过一次调用打开多个文件夹。binary
只是文件传输方法的默认设置send %1
最终发送了我们的文件。批次参数%1
代表输入的完整文件名- 传输完成后,我们断开与 FTP 服务器的连接并关闭 FTP 客户端
- 最后三行只是为了清理我们的痕迹,比如删除 FTP 命令文件,
pause
如果一切顺利,您将有机会看到脚本输出。