欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

迁移图片目录的bat代码

程序员文章站 2022-04-10 13:36:54
复制代码 代码如下: @echo off setlocal enabledelayedexpansion ::开启变量延迟,加入自定义变量名 set sourpic=e:\...
复制代码 代码如下:

@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