Batch file FTP目录上载

Batch file FTP目录上载,batch-file,file-upload,ftp,server,remote-access,Batch File,File Upload,Ftp,Server,Remote Access,我会尽量让这件事简单快捷。如果你不能100%确定你将如何搜索某个信息,那么搜索某个信息可能会很困难 因此,我创建了一个小批量脚本来执行powershell ftp访问和登录,以及所有有趣的东西 基本上,当我需要在心跳中上传文件到FTP服务器时,这是一个cron任务。 我有一个家庭服务器,定期或接到通知时,我希望我的脚本能够执行,并能够将目录从我的家庭服务器上传到远程ftp服务器 这是我正在使用的脚本 @echo off<br> echo user yourusername> f

我会尽量让这件事简单快捷。如果你不能100%确定你将如何搜索某个信息,那么搜索某个信息可能会很困难

因此,我创建了一个小批量脚本来执行powershell ftp访问和登录,以及所有有趣的东西

基本上,当我需要在心跳中上传文件到FTP服务器时,这是一个cron任务。

我有一个家庭服务器,定期或接到通知时,我希望我的脚本能够执行,并能够将目录从我的家庭服务器上传到远程ftp服务器

这是我正在使用的脚本

@echo off<br>
echo user yourusername> ftpcmd.dat<br>
echo yourpassword>> ftpcmd.dat<br>
echo bin>> ftpcmd.dat<br>
echo cd \folder>> ftpcmd.dat<br>
echo put %1>> ftpcmd.dat<br>
ftp -n -s:ftpcmd.dat yourservername<br>
@echo off
echo用户yourusername>ftpcmd.dat
回显您的密码>>ftpcmd.dat
echo bin>>ftpcmd.dat
echo cd\folder>>ftpcmd.dat
回显输入%1>>ftpcmd.dat
ftp-n-s:ftpcmd.dat yourservername
所以我收集了放置%1=filetoupload的数据

所以filename.bat(脚本)filetoupload=put%1,但它给我的错误是

说:所以把我放进去 返回:打开本地文件I:\Documents时出错

FTP服务器上的本地服务器?或我的家庭服务器上的本地

如何使我可以将所选目录从我的家庭服务器上传到FTP远程服务器,而不是一个接一个地上传文件


非常感谢

我假设这里的
%1
指的是通过FTP上传的目录。您可以改为使用batch
for
函数/关键字来添加许多与上载目录中的文件相对应的
put
指令

例如:

@echo off

echo user yourusername> ftpcmd.dat
echo yourpassword>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo cd \folder>> ftpcmd.dat

for %%f in (%1\*.*) do echo put "%%f">> ftpcmd.dat

ftp -n -s:ftpcmd.dat yourservername
对于递归版本:

@echo off

echo user yourusername> ftpcmd.dat
echo yourpassword>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo cd \folder>> ftpcmd.dat

for /R %1 %%f in (*.*) do echo put "%%f">> ftpcmd.dat

ftp -n -s:ftpcmd.dat yourservername

使用for循环,循环给定目录中的所有文件。是否需要解释?因为似乎大多数终端命令都是针对给定文件的,而不是针对目录的。我怎样才能执行For循环扫描整个目录,上传目录中的每个文件,而不必手动键入所有内容请将问题移至。这是离题了。那很有趣。学习一些好的ol批处理脚本:P:P因此,对于命令,您可以使用>ftpcmd.dat
这样,如果我有一个名为Documents的目录,并且我希望将该文件夹中的所有子目录或文件上载到FTP服务器<这对我来说就是命令。。我要做的就是运行filename.bat来执行它,它会自动从dir中获取文件并上传,而无需用户输入
我非常感谢。@chrismcafferty我并不完全精通批处理脚本,但这里的答案似乎表明可以进行递归目录处理。我将尝试修改现有的答案,以包括递归目录处理。我非常感谢。嘿,不管你知道一大堆或者什么都不知道,最后都会积累很多知识。我想知道是否有人或您能够解释为什么无论我做什么,iy总是说“打开本地目录时出错”当文件可以从我的家庭服务器访问并且打开了文件所在的HDD时。??那么为什么会出现错误?如果人们不只是发布他们的脚本并希望您了解它的所有内容也会很好。为什么不做命令或代码行正在做什么的旁注???????chrismcafferty也许您指定了一个d目录而不是文件?我以前从未使用过
ftp
程序,所以我不知道。我添加了递归版本,这将为您提供一些关于如何批量使用for结构的体面文档。非常感谢。递归似乎不像我们都认为的那样工作。它几乎只是发送脚本在一个不断循环中…实际上什么都不做…看起来就是这样。