‘壹’ 请问自动上传特定目录到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的环境下测试过了,希望对您有帮助。
‘贰’ ftp下载批处理命令,难题,望高手进来解答
set
FtpFile=%temp%\TempAcc.txt
>"%FtpFile%"
echo
用户名称
>>"%FtpFile%"
echo
密码
>>"%FtpFile%"
echo
bin
>>"%FtpFile%"
echo
cd
"/aa/bb/cc"
>>"%FtpFile%"
echo
send
d:/ee/ff/sourceaaa.txt
>>"%FtpFile%"
echo
bye
start
/wait
ftp
-v
-i
-s:"%FtpFile%"
IP地址
del
/q
"%FtpFile%"
把这个代码保存为.bat文件既可!
还有你不需要开sch这个服务的啦.用AT本身就可以了.
你可以直接在"控制面板"里的"计划任务".选择"添加计划任务",然后按步骤来,很简单的,可以设置每天的哪个时候运行此批处理
‘叁’ 怎样使用批处理来操作FTP命令
将文件传送到运行FTP服务器服务(经常称为后台程序)的计算机以及将文件从该计算机
传出。可以交互使用Ftp。
FTP[-v][-d][-i][-n][-g][-s:filename][-a][-A][-x:sendbuffer][-r:recvbuffer][-b:asyncbuffers][-w:windowsize][host]
-v禁止显示远程服务器响应。
-n禁止在初始连接时自动登录。
-i关闭多文件传输过程中的
交互式提示。
-d启用调试。
-g禁用文件名通配(请参阅GLOB命令)。
-s:filename指定包含FTP命令的文本文件;命令
在FTP启动后自动运行。
-a在绑字数据连接时使用所有本地接口。
-A匿名登录。
-x:sendsockbuf覆盖默认的SO_SNDBUF大小8192。
-r:recvsockbuf覆盖默认的SO_RCVBUF大小8192。
-b:asynccount覆盖默认的异步计数3
-w:windowsize覆盖默认的传输缓冲区大小65535。
host指定主机名称或要连接到的远程主机
的IP地址。
注意:
-mget和mput命令将y/n/q视为yes/no/quit。
-使用Ctrl-C中止命令。
‘肆’ 关于FTP批处理的问题
正常情况是不会错的,可以试着如下调试
在命令行窗口中将上述操作执行一遍,如果在mput的时候,也如此的话,那就是应该是服务器的设置问题,可能原因比如:
1,有的版本的mput在脚本中不太稳定,
2,上传文件太大,堵塞在那甚至超时
‘伍’ 用批处理上传文件到ftp目录下的实现方法
为了快速将项目中开发的补丁程序通过ftp快速上传到linux下,感觉每次用flashFxp等工具麻烦),写了个简单的批处理,与大家分享一下。
将以下代码保存为.bat格式的文件,每次将要上传的补丁保存在规定的本地目录中,只要双击执行此文件就能上传到你的指定目录上。
说明:
192.168.1.1
ftp
ip
地址
21
端口
username
用户名
password
密码
temp.txt
保存ftp信息的临时文件,上传后删除
C:\Documents
and
Settings\user\桌面\patch\upload_dir\1.zip
上传upload_dir目录下的zip文件
test/temp%date%.rar
上传到用户目录下并且以“temp+当前日期”
对上传文件重命名
最后是删除本地文件
复制代码
代码如下:
@echo
off
echo
open
192.168.1.1
21
>>
temp.txt
echo
user
username
password>>
temp.txt
echo
bin
>>
temp.txt
echo
put
"C:\Documents
and
Settings\user\桌面\patch\upload_dir\1.rar"
"test/temp%date%.rar"
>>
temp.txt
echo
bye
>>
temp.txt
ftp
-n
-s:"temp.txt"
del
/q
C:\Documents
and
Settings\user\桌面\patch\upload_dir\1.rar
del
/q
temp.txt
pause
以上内容是小编给大家介绍的用批处理上传文件到ftp目录下的实现方法,希望对大家有所帮助!
‘陆’ 如何在BAT批处理文件中实现FTP登陆
1、右键桌面空白处,新建 -> 文本文档。
‘柒’ 求一个可以上传文件夹到FTP指定目录的批处理命令
先生成一个配置文件d:\
FTPCommand.txt,内容如下:
open
主机IP
例:10.1.2.3
username
例:root
password
例:
root
prompt
off
mput
filename
#可使用通配符或多个文件名
如果需要的话可能还要更改当前路径
然后在命令行运行:ftp
-s:"d:\
FTPCommand.txt"
‘捌’ 想做一个批处理 将指定文件用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上传完的文件如何改名。有知道的大神告诉一下别太难
‘玖’ FTP下载 批处理问题
这个问题我觉得你应该改变下思路。
你现在的思路是想在批处理里面判断图片是否已经下载,你是否可以考虑这样操作:
1,首先用一个批处理获得ftp上图片列表,存为文件。
2,用vc操作此文件,匹配图片,生成一个新的批处理文件。
3,执行新生成的批处理文件,下载特定图片。
4,删除下载用的批处理文件。
用批处理在dos下匹配文件名非常麻烦,既然你用了vc,那何不用vc来匹配文件呢?