首页 > 编程 > BAT > 正文

迁移图片目录的bat代码

2020-06-09 13:51:20
字体:
来源:转载
供稿:网友
代码如下:
@echo off
setlocal enabledelayedexpansion
::开启变量延迟,加入自定义变量名
set sourpic=e:/pic
::定义图片源
set despic=e:/img
::定义图片存储地址
set pictype=*.jpg
::定义图片类型
set log=e:/log.txt
::定义Log信息,这个每次都会重新生成

rem 处理开始的日志记录
echo 图片取自:%sourpic% >%log%
echo 上传目录:%despic% >>%log%
echo 图片类型:%pictype%>>%log%
echo 开始时间:%date%%time%>>%log%

::遍历文件夹后,在逐一遍历相应文件夹,同时拷贝图片、日志记录、删除图片

for /d %%i in (%sourpic%/*) do (
::遍历root文件夹,获取子文件夹名称
set folder= %%~ni
echo 对!folder!文件夹进行操作
echo ###对!folder!文件夹进行操作:%date%%time%>>%log%
rem 开始对服务器的目录进行判断
Call :serverfolder %despic% !folder! %log%
rem 开始遍历此文件夹中的图片文件
Call :copyfile %%~fi !folder!
)
echo %date%%time%--操作完成>>%log%
pause
exit

rem 对目标服务器的目录进行管理
:serverfolder
if exist %1/%2 (
echo 服务器端存在目录:%1/%2
) else (
echo 开始创建目录:%1/%2
md %1/%2
if %ERRORLEVEL% ==0 (
echo 服务器端创建%1/%2成功!>>%3
)else (
echo 服务器端创建%1/%2失败!>>%3
)
)
goto:eof

rem 处理子文件夹的文件
:copyfile
for /r %1 %%i in (%pictype%) do (
echo 开始拷贝:%%i
echo %date%%time%--%%i>>%log%
copy %%i %despic%/%2/%%~ni%%~xi /y
if %ERRORLEVEL% ==0 (
echo 拷贝成功>>%log%
rem 开始执行删除工作
del %%i /q
if %ERRORLEVEL% ==0 (
echo 删除成功>>%log%
)else (
echo 删除失败>>%log%
)
)else (
echo 拷贝失败>>%log%
)
)
goto:eof
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表