如何自动js 上传指定路径文件本地文件到 FTP 中指定的文件夹

bat ftp上传整个文件夹 - ITeye问答
写了下面的脚本,想上传整个文件夹到ftp上,文件夹下还有子文件夹,可是一碰到子文件夹,就不能上传了
set remote-directoriy=/mine/directoriy
set local-directoriy=f:\test
set ip=172.26.31.121
(echo open %ip%
echo sitv
echo sitv
echo prompt
echo cd %remote-directoriy%
echo mput %local-directoriy%\*
echo bye
)&ftp.txt
ftp -s:ftp.txt
del ftp.txt
pause
问题补充:我这。。是个初学的啦 ,你这有的没的太多了啦,我看不懂啊,简单一点吧
高级java工程师 写道因为工作需要,平生第一次用Windows的Dos命令写脚本。
需求:本地有个软件,每天生成相应的Log文件,并保存在以日期时间为目录的文件夹下。然后需要在后一天,将前一天生成的Log文件及文件夹上传到一个日志服务器进行保存。
实现工具:bat脚本,Ncftp工具,计划任务
其中,因为系统默认的ftp命令行,不支持passive模式,而Port模式下,需要修改或开启Log生成端服务器的防火墙,需要最终改用网络上免费的小工具Ncftp,这个小工具比系统自带的强大了N倍,支持命令行,支持PASV模式也可以切换PORT模式,还支持断点续传,上传成功后删除本地文件等。
实现步骤:
1)转到脚本所在目录;
2)上传之前未能成功上传的文件;
3)取到今天需要上传的文件夹名称;
4)上传今天需要上传的文件夹及文件;
5)如果成功,删除本地文件,如果不成功,将文件夹移到备份目录;
6)删除空目录;
以下是具体的脚本内容(英文版系统):
-----------------------------------------------------------
set dt=%date:~10,4%%date:~4,2%%date:~7,2%
set batpath=%~dp0
set dname=
rem Turn to batfile's path
cd %batpath%
mkdir bak &nul 2&nul
rem Re-upload bak log directory and file to NMS Server
type %batpath%Evtlog.txt | find "Ftpfailed" &nul 2&nul
if %errorlevel% EQU 0 goto reupload
if %errorlevel% NEQ 0 goto reupend
echo ----------%dt% Re-upload bak Log------------ 2&&%batpath%Evtlog.txt 1&&2
%BatPath%ncftpput -u administrator -p password
-r 5 -z -R -DD 192.168.1.80 /192.168.1.53 %batpath%bak\* 2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% EQU 0 goto cleanrelog
if %errorlevel% NEQ 0 goto reupfailed
:cleanrelog
cd.&%batpath%Evtlog.txt
for /f "tokens=*" %%a in ('dir /b /ad /s %batpath%bak\^|sort /r') do rd "%%a" /q 2&nul
goto reupend
:reupfailed
echo %dt%:Ftpfailed Reupload files the day before yesterday failed! 2&&%batpath%Evtlog.txt 1&&2
goto reupend
rem Get the yesterday date
for /d %%i in (20*) do if %%i LSS %dt% set dname=%%i
if exist %dname% goto ncftp
if not exist %dname% goto :eof
rem Transfer yesterday log file and folder to NMS Server
echo ----------%dt% Ftp Log------------
2&&%batpath%Evtlog.txt 1&&2
%BatPath%ncftpput -u administrator -p password
-r 5 -z -R -DD 192.168.1.80 /192.168.1.53 %batpath%%dname% 2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% EQU 11 goto session
if %errorlevel% EQU 10 goto library
if %errorlevel% EQU 9 goto error
if %errorlevel% EQU 8 goto usage
if %errorlevel% EQU 7 goto url
if %errorlevel% EQU 6 goto directorytimeout
if %errorlevel% EQU 5 goto directory
if %errorlevel% EQU 4 goto transfertimeout
if %errorlevel% EQU 3 goto transfer
if %errorlevel% EQU 2 goto connecttimeout
if %errorlevel% EQU 1 goto connect
if %errorlevel% EQU 0 goto success
echo ncFtp:0Success. 2&&%batpath%Evtlog.txt 1&&2
echo Ftpfailed:1Could not connect to remote host. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:connecttimeout
echo Ftpfailed:2Could not connect to remote host - timed out. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:3Transfer failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:transfertimeout
echo Ftpfailed:4Transfer failed - timed out. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:directory
echo Ftpfailed:5Directory change failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:directorytimeout
echo Ftpfailed:6Directory change failed - timed out. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:7Malformed URL. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:8Usage error. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:9Error in login configuration file. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:10Library initialization failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:11Session initialization failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
rem Move yesterday log directory trees and files to the destination directory bak
move /y %batpath%%dname% %batpath%bak\%dname%
2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% NEQ 0 echo Moveerror:A duplicate file name exists, or the file cannot be found. 2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% EQU 0 echo Move finish! 2&&%batpath%Evtlog.txt 1&&2
rd %batpath%%dname% /q &nul 2&nul
echo ----------%dt% Ftp Log------------
2&&%batpath%Evtlog.txt 1&&2
-----------------------------------------------------------
[url]http://www.linuxso.com/linuxrumen/6368.html
[/url]
问题补充:服务器的解压缩命令?是什么啊?没找到suziwen 写道直接调用zip命令在本地压缩下上传,然后调用服务器 的命令解压缩下不是更好吗
问题补充:我可以把它打包传上去,可是上传完之后我也要解压好,只是不知道用命令要怎么解压suziwen 写道直接调用zip命令在本地压缩下上传,然后调用服务器 的命令解压缩下不是更好吗
直接调用zip命令在本地压缩下上传,然后调用服务器 的命令解压缩下不是更好吗
因为工作需要,平生第一次用Windows的Dos命令写脚本。
需求:本地有个软件,每天生成相应的Log文件,并保存在以日期时间为目录的文件夹下。然后需要在后一天,将前一天生成的Log文件及文件夹上传到一个日志服务器进行保存。
实现工具:bat脚本,Ncftp工具,计划任务
其中,因为系统默认的ftp命令行,不支持passive模式,而Port模式下,需要修改或开启Log生成端服务器的防火墙,需要最终改用网络上免费的小工具Ncftp,这个小工具比系统自带的强大了N倍,支持命令行,支持PASV模式也可以切换PORT模式,还支持断点续传,上传成功后删除本地文件等。
实现步骤:
1)转到脚本所在目录;
2)上传之前未能成功上传的文件;
3)取到今天需要上传的文件夹名称;
4)上传今天需要上传的文件夹及文件;
5)如果成功,删除本地文件,如果不成功,将文件夹移到备份目录;
6)删除空目录;
以下是具体的脚本内容(英文版系统):
-----------------------------------------------------------
set dt=%date:~10,4%%date:~4,2%%date:~7,2%
set batpath=%~dp0
set dname=
rem Turn to batfile's path
cd %batpath%
mkdir bak &nul 2&nul
rem Re-upload bak log directory and file to NMS Server
type %batpath%Evtlog.txt | find "Ftpfailed" &nul 2&nul
if %errorlevel% EQU 0 goto reupload
if %errorlevel% NEQ 0 goto reupend
echo ----------%dt% Re-upload bak Log------------ 2&&%batpath%Evtlog.txt 1&&2
%BatPath%ncftpput -u administrator -p password
-r 5 -z -R -DD 192.168.1.80 /192.168.1.53 %batpath%bak\* 2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% EQU 0 goto cleanrelog
if %errorlevel% NEQ 0 goto reupfailed
:cleanrelog
cd.&%batpath%Evtlog.txt
for /f "tokens=*" %%a in ('dir /b /ad /s %batpath%bak\^|sort /r') do rd "%%a" /q 2&nul
goto reupend
:reupfailed
echo %dt%:Ftpfailed Reupload files the day before yesterday failed! 2&&%batpath%Evtlog.txt 1&&2
goto reupend
rem Get the yesterday date
for /d %%i in (20*) do if %%i LSS %dt% set dname=%%i
if exist %dname% goto ncftp
if not exist %dname% goto :eof
rem Transfer yesterday log file and folder to NMS Server
echo ----------%dt% Ftp Log------------
2&&%batpath%Evtlog.txt 1&&2
%BatPath%ncftpput -u administrator -p password
-r 5 -z -R -DD 192.168.1.80 /192.168.1.53 %batpath%%dname% 2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% EQU 11 goto session
if %errorlevel% EQU 10 goto library
if %errorlevel% EQU 9 goto error
if %errorlevel% EQU 8 goto usage
if %errorlevel% EQU 7 goto url
if %errorlevel% EQU 6 goto directorytimeout
if %errorlevel% EQU 5 goto directory
if %errorlevel% EQU 4 goto transfertimeout
if %errorlevel% EQU 3 goto transfer
if %errorlevel% EQU 2 goto connecttimeout
if %errorlevel% EQU 1 goto connect
if %errorlevel% EQU 0 goto success
echo ncFtp:0Success. 2&&%batpath%Evtlog.txt 1&&2
echo Ftpfailed:1Could not connect to remote host. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:connecttimeout
echo Ftpfailed:2Could not connect to remote host - timed out. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:3Transfer failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:transfertimeout
echo Ftpfailed:4Transfer failed - timed out. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:directory
echo Ftpfailed:5Directory change failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
:directorytimeout
echo Ftpfailed:6Directory change failed - timed out. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:7Malformed URL. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:8Usage error. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:9Error in login configuration file. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:10Library initialization failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
echo Ftpfailed:11Session initialization failed. 2&&%batpath%Evtlog.txt 1&&2
goto movefile
rem Move yesterday log directory trees and files to the destination directory bak
move /y %batpath%%dname% %batpath%bak\%dname%
2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% NEQ 0 echo Moveerror:A duplicate file name exists, or the file cannot be found. 2&&%batpath%Evtlog.txt 1&&2
if %errorlevel% EQU 0 echo Move finish! 2&&%batpath%Evtlog.txt 1&&2
rd %batpath%%dname% /q &nul 2&nul
echo ----------%dt% Ftp Log------------
2&&%batpath%Evtlog.txt 1&&2
-----------------------------------------------------------
[url]http://www.linuxso.com/linuxrumen/6368.html
[/url]
已解决问题
未解决问题想自己写程序。
就是想知道如何用API来把本地文件上传到指定的FTP中~
我用的是VB。 请把调用哪个DLL和函数名字写明白点~
把声明也一并写了吧~
谢谢了~
如果有RUBY的方法就更好了~~!!
(只要用API的方法。。。。。。)
再多谢!~!
附件是一个API开发的FTP源程序,支持上传、下载。
其他答案(共2个回答)
,通过web页面
利用AspcnUP.dll组件进行文件上传
提供组件源码(vb写的),有丰富的例程,比较不错
1、你必须知道ftp服务器的域名orip地址2、知道用户名和密码3、在ie地址栏中输入 地址(域名)@用户名:密码也好像是ftp://用户名:密码@ip地址(域...
通过“FTP删除文件命令”删除已连接FTP服务器的当前目录下的文件名为和通过“文件列表框”的“取标题”命令返回的文本相同的文件名。
估计是文件目录权限设置错误导致的 如果没什么重要东西的话 全部设置为 EVERYONE 权限可以解决问题
上传不用写,只要点你要上传的文件即可
参考你要写下参考文献的名称就可以了
答: 您好,化疗的特点就是立竿见影,短期内肿瘤缩小,但是停止化疗后,肿瘤反复,是常见现象,可以在化疗期间配合抗肿瘤中医药共同治疗,加强疗效,减轻化疗副作用,有效的控制...
答: 还是买本参考资料看看吧,如果三言两语能描述清楚,种地的也编程了。
答: Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFile...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415服务器-Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录
作者:用户
浏览:1565 次
JavaFTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录1CJavaFTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录如果文件较大,如何完整的上传到FTP的服务器用ftpClie
Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录
Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录
如果文件较大,如何完整的上传到FTP的服务器
用ftpClient.changeWorkingDirectory更改路径,路径不必以/开始
【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供19:25 提问
Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录
Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录
如果文件较大,如何完整的上传到FTP的服务器
按赞数排序
用ftpClient.changeWorkingDirectory更改路径,路径不必以/开始
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 文件上传到指定路径 的文章

 

随机推荐