ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 菜鸟写批处理-文件上传

菜鸟写批处理-文件上传

原创 Linux操作系统 作者:woshihgh 时间:2011-03-30 15:45:26 0 删除 编辑

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

@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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ORACLE发邮件
请登录后发表评论 登录
全部评论

注册时间:2010-12-16

  • 博文量
    7
  • 访问量
    8069