迁移图片目录的bat代码

复制代码 代码如下:

@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

你可能感兴趣的:(迁移图片目录的bat代码)