bat上传指定ftp目录
你这个需求似乎不是“自动上传”,而是“自动下载”,而且描述不够全面,疑问有:
1、B机器像是windows系统,A机器是小型机还是PC不明,要是小型机安装unix/linux等操作系统时,下述的文件共享方式就需要配置samba服务,不如windows系统配置那么简单。
2、获取的文件之名称固定吗?如果固定,那么自动获取时发现B上已经有同名文件,策略是覆盖已有文件还是另有安排?如果文件不固定,文件名采用什么规则命名,是根据日期吗?
方案有多种,兹介绍两种,其一是文件共享的方式,其二是ftp方式。
文件共享:
既然A有固定IP,完全可以把那个文件所在的目录共享出来,为安全计,可以限定访问者,在B上映射该共享目录成一个盘符(例如K:),如此,自动获取文件的批处理主体内容就是执行一个COPY,如COPY /Y K:\myCared.xyz D:\AnotherSavePoint,将这个.BAT配置成任务计划即可。
FTP方式:
准备工作稍微麻烦一些,需要在A上配置FTP服务,在B上通过ftp.exe执行相应脚本实现。具体方案可以参考如下链接,是我对和你这个相似问题的答复。
http://..com/question/195373501.html
❷ 如何用批处理将指定文件或文件夹上传至FTP指定目录
参考一下:@echo
offecho
123>ftp.txtecho
123>>ftp.txtecho
bin>>ftp.txtprompt>>ftp.txtecho
mput
*.*>>ftp.txtecho
bye>>ftp.txtftp
-i
-s:ftp.txt
192.168.1.200把上述代码保存为bat文件,放到C:\\123中执行。
❸ 请问自动上传特定目录到FTP服务器的BAT批处理怎样写
您可以使用cmd环境的rar,对所有B00n文件夹下的C003进行整体打包,然后上传各个打包的rar文件,我假定您AAA目录下所有B大头的目录都有C003子目录,并且都要备份上传。这个rar工具可以在winrar的安装目录下找到,拷贝到AAA目录下就行了。
按您的描述,增量备份用批处理可能会比较麻烦,我下面帮您写的是全量备份的,不过rar做的压缩包会保持文件的完整目录结构。
把下面的命令存为批处理文件:my_ftp_put_C003.bat,这个bat文件要放在AAA目录下。
@echo off
@set d=E:\AAA
@cd /d %d%
rem 下面三行是ftp的IP、用户名、密码,请自行替换
@set ftpip=127.0.0.1
@set ftpusr=username
@set ftppwd=password
@for /f "delims=" %%i in ('dir B* /ad /b') do @rar a AAA_%%i_C003.rar %%~fi\C003
@echo open %ftpip%>%d%\tmp.ftp
@echo %ftpusr%>>%d%\tmp.ftp
@echo %ftppwd%>>%d%\tmp.ftp
@for /f "delims=" %%i in ('dir AAA_B*.rar /b') do @echo put %%i >>%d%\tmp.ftp
@echo quit >>%d%\tmp.ftp
@ping -n 2 127.0.0.1 >nul
@ftp -s:%d%\tmp.ftp
@del %d%\tmp.ftp
上面有几行,在注释后面是ftp的ip地址、用户名、密码,您要改成您自己的。
以上批处理我已经在Win10+ftp的环境下测试过了,希望对您有帮助。
❹ 如何写一个bat批处理自动上传文件到SFTP
@echo off::地址set ftpadd=192.168.0.3::用户名set user=admin::密码set pw=pass::ftp临时文件set tmpftp=%temp%\tmp_ftp%Random%.tempmd d:\temp >nul:up::建立测试文件 文件名自增1echo %date% %time% >d:\temp\a%num%.txt::生成ftp上传 %1 是要上传的文件路径call :login d:\temp\a%num%.txt::开始上传并生成,日志 ,当前目录 ftpt.log 为日志文件ftp -s:%tmpftp% >>ftpt.logecho ----------%time%--------->>ftpt.log::删除临时文件del /q/f %tmpftp%set /a num+=1echo 上传 a%num%.txt::延时ping /n 10 127.1 >nulgoto up ::生成ftp上传文件:login(echo open %ftpadd%echo %user%echo %pw%echo pwdecho put %1echo bye)>>%tmpftp%goto :eof
这是我模拟的代码,你可以改下。
❺ 写个bat把本地某个目录内的全部文件和文件夹上传到ftp
@echooff
echoopen#FTP地址#>tmp
echo#FTP用户名#>>tmp
echo#FTP密码#>>tmp
echoget*.**.*>>tmp
echobye>>tmp
ftp-s:tmp
deltmp/q
两个"#"和中间的内容一起换掉。
❻ 想做一个批处理 将指定文件用FTP上传
时间晚了好久,不知道到还有用没,希望有用的可以拿来参考
目的监控路径下面文件,上传到指定FTP。上传完毕后文件备份。
方法个人运用两个bat第一个监控,第二个FTP上传
1.监控。放到你要监控的文件夹路径下面建立start.bat 下面是我放的内容。
@echo off
:memu
for /f "delims=" %%a in ('dir /a-d/b *.zip') do (
if not [%%a]==[] (
echo %time%发现:%%a
)
)
start "" Q:BCPbackupftpceshiftpuploud.bat
ping 127.0.1 -n 60 >nul
goto memu
在段中,你要监控的文件类型就是*.zip。可以改成你需要的比如*.jpg等
删除临时文件,退出
然后1在监控,有文件后启动FTP上传完成后退出
这里我没有找到决绝办法的是FTP上传完的文件如何改名。有知道的大神告诉一下别太难
❼ bat 批处理如何将FTP上的所有文件移动到本地一个目录
@echooff
echo123>login.txt
echo456>>login.txt
echocd/abc/xyz>>login.txt
echolcdd:/cba>>login.txt
echomget*.json>>login.txt
echodelete*.json>>login.txt
ftp-s:login.txt192.168.1.1