使用批处理复制windows10自动更新的锁屏壁纸

每次启动笔记本时经常发现有些锁屏壁纸非常好,有风景还配文字,于是想使用这个脚本把喜欢的背景图做个备份,根据文件名和大小判断是否同一文件防止重复备份或覆盖

@echo off

set name=%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%
for /f "delims=" %%a in ("%windir%\web\screen\img105.jpg") do set size1=%%~za

rem 下面的if exist后面的文件名如果有空格时需要用双引号括起来,否则会以文件名中的空格进行分割来执行命令
rem 变量赋值中防止空格时可以在调用变量时加引号,不用在变量值中加引号,比如调用时用"%a%"而不用a="1 2 3"
if exist "%userprofile%\Desktop\背景图片\%name%.jpg" (
    for /f "delims=" %%a in ("%userprofile%\Desktop\背景图片\%name%.jpg") do set size2=%%~za
rem       echo yes &pause
rem       echo img105+%size1%
rem       echo %a%+%size2%
rem       pause
    if %size1% == %size2% (
        echo 已存在相同大小的同名文件,不需备份!!!) else (
            echo 存在同名文件,但是大小不相同,准备备份!
            copy "%windir%\web\screen\img105.jpg" "%userprofile%\Desktop\背景图片\%name%.jpg"
            echo 图片备份成功!!!)

) else (
echo 文件不存在,准备备份!
copy "%windir%\web\screen\img105.jpg" "%userprofile%\Desktop\背景图片\%name%.jpg"
echo 图片备份成功!!!)

猜你喜欢

转载自www.cnblogs.com/jasy/p/12824881.html
今日推荐