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