如何使用批处理文件将文件夹中的新文件复制到 FTP 位置?

如何使用批处理文件将文件夹中的新文件复制到 FTP 位置?

SuperUser 上有很多关于上传单身的文件到 FTP 服务器,但是关于上传整个文件夹的问题并不多,所以我怀疑这是一个重复的问题。

我不使用 FTP 客户端 - 我总是使用 Windows 资源管理器像访问任何文件夹一样访问我的 FTP 服务器。经过身份验证后,我就可以像浏览常规目录一样浏览我的网站内容。

通常,当我想编辑网站上的某些内容时,我会登录 FTP 目录,将要编辑的文件复制到我的Downloads文件夹(可以是任何本地文件夹,我觉得这很容易),编辑我需要的内容,然后将其移动/复制回来。我只有一个小网站,我自己从头开始编写了所有内容,所以我不需要担心服务器端的任何事情。

过去,我曾尝试使用批处理文件自动登录 FTP 服务器并public-html在资源管理器窗口中打开,但无法正常工作。我想知道是否可以在独立的批处理文件中将所有新/更改的文件从映射网络驱动器中的特定文件夹复制到 FTP 服务器中的相应文件夹。我假设我可以使用ftp://server.com/public_html/folder/folder路径,Windows 将使用资源管理器来实现这一点。如果它也可以登录到服务器,那将会很有帮助,但我可以手动登录。

否则,手动将我更改的每个文件从测试区域复制到 FTP 服务器非常麻烦。

PowerShell 或 VBS 脚本也适合我;我只需要能够开发一个没有任何依赖项的独立文件(即我不想安装客户端或任何软件包)。

我可以轻松编写一个脚本,将文件从一个映射驱动器复制到本地磁盘上的文件夹,但我不知道为什么 FTP 应该有所不同。

答案1

您在帖子中提到的所有操作都可以使用 WinSCP 脚本自动完成。您是否尝试过温SCP? 它功能强大且免费,提供大量支持。下面是您的操作的示例脚本:

# Connect
open ftp://user:[email protected]/ 
# Change remote directory
cd /home/user
# Force binary mode transfer
option transfer binary
# Download file to the local directory d:\
get examplefile.txt d:\
# This will Upload whole folder files and subfolders to current working directory
put d:\
# Disconnect
close
# Exit WinSCP
exit

然后您只需从批处理文件中调用该脚本即可。

答案2

从你的问题来看,我猜你是在问以下问题:

将映射网络驱动器中特定文件夹的所有新文件/更改的文件复制到 FTP 服务器中的相应文件夹。

步骤1。

使用 net use 将网络位置安装为驱动器名称(或使用 Windows 向导映射网络驱动器)

net use Z: \\MyServer\MyShare\

其中 Z:是您要使用的驱动器号

第2步。

这次仅映射具有不同字母的另一个驱动器,使其成为 FTP 服务器(见截图)

映射网络驱动器向导

您将得到两个驱动器,您可以使用 Windows 资源管理器复制文件,也可以从命令提示符复制文件,如下所示:

copy Z:\myFiles Y:\public_html\folder\folder

相关内容