菜鸟写批处理-文件上传

工程部的同事需要一个工具,将成品、料件的图片根据物料编码上传到服务器对应的目录中,一开始以为只是简单的复制即可,于是多方找资料后,写了如下批处理:

@ECHO OFF
setlocal enabledelayedexpansion
set vSourcePath=C:\Temp\picture
set vTagetBase=d:\picture

for /f "delims=" %%a in ('dir /b "%vSourcePath%\*.jpg"') do (
set vFile=%%a
set vPath=!vFile:~0,2!\!vFile:~0,4!\!vFile:~0,6!
set vP1=!vTagetBase!\!vFile:~0,2!
set vP2=!vP1!\!vFile:~0,4!
set vP3=!vP2!\!vFile:~0,6!
IF NOT EXIST !vP1! md !vP1!
IF NOT EXIST !vP2! md !vP2!
IF NOT EXIST !vP3! md !vP3!
copy /y "!vSourcePath!\!vFile!" "!vP3!\!vFile!"
)
pause

本地测试通过后,改目标路径为服务器,结果发现,不是那么回事,服务器放开的目录不允许直接写入,只能通过FTP,既然如此,那就继续改吧,改出了如下脚本:

@ECHO OFF
setlocal enabledelayedexpansion
set vSourcePath=C:\Temp\picture

for /f "delims=" %%a in ('dir /b "%vSourcePath%\*.jpg"') do (
set vFile=%%a
set vPath=!vFile:~0,2!\!vFile:~0,4!\!vFile:~0,6!
set vP1=!vFile:~0,2!
set vP2=!vFile:~0,4!
set vP3=!vFile:~0,6!
if exist "%temp%\ftpfile" del "%temp%\ftpfile"
echo open ip>"%temp%\ftpfile"
echo ftpusername>>"%temp%\ftpfile"
echo ftppassword>>"%temp%\ftpfile"
echo cd Image>>"%temp%\ftpfile"
echo mkdir !vP1!>>"%temp%\ftpfile"
echo cd !vP1!>>"%temp%\ftpfile"
echo mkdir !vP2!>>"%temp%\ftpfile"
echo cd !vP2!>>"%temp%\ftpfile"
echo mkdir !vP3!>>"%temp%\ftpfile"
echo cd !vP3!>>"%temp%\ftpfile"
echo put "!vSourcePath!\!vFile!">>"%temp%\ftpfile"
echo bye>>"%temp%\ftpfile"
ftp -i -s:"%temp%\ftpfile"
::del "%temp%\ftpfile"
)
pause

测试通过后,将此脚本给用户使用,当然,为了保障服务器的资料安全,指定的FTP用户只拥有上传文件、建立文件夹的权限,没有删除的权限。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/75673/viewspace-691314/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/75673/viewspace-691314/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值