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


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

    PS:锁屏界面看到好的背景图一定要在启动后尽快备份(几十秒),因为这时系统会联网更新下一张图并覆盖原有图片!!!

    PS(2020-06-29):添加了传参,输入jpg.bat start后打开图片目录

    @echo off
    SETLOCAL ENABLEDELAYEDEXPANSION
    
    if "%1" == "start" (
    start %userprofile%Desktop背景图片
    rem echo %0 输出bat文件本身
    rem echo %1 输出第一个参数,这里就是输入的start
    rem echo %2 后面依次
    rem echo %3
    rem echo %4
    exit
    )
    
    rem 使用当前日期和时间的组合位作为文件名,并判断是否在0点到9点,因为这时时间首位为空
    set time_first_bit="%time:~0,1%"
    if %time_first_bit% == " " (
        set name=%date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%%time:~3,2%
        ) else (
        set name=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%
        )
    
    
    rem 先取当前锁屏图片的文件大小并赋值
    for /f "delims=" %%a in ("%windir%webscreenimg105.jpg") do set size1=%%~za
    
    rem 下面的if exist后面的文件名如果有空格时需要用双引号括起来,否则会以文件名中的空格进行分割来执行命令
    rem 变量赋值中防止空格时可以在调用变量时加引号,不用在变量值中加引号,比如调用时用"%a%"而不用a="1 2 3"
    if exist "%userprofile%Desktop背景图片\%name%.jpg" (
        rem 取已有的同名文件大小并赋值
        for /f "delims=" %%a in ("%userprofile%Desktop背景图片\%name%.jpg") do set size2=%%~za
        
        rem 比较文件大小  
        if !size1! == !size2! (
            echo 已存在相同大小的同名文件,不需备份!!!) else (
                echo 存在同名文件,但是大小不相同,准备备份!
                
                rem ren命令的目标文件名只能是文件名,不能有路径!!!
                ren "%userprofile%Desktop背景图片\%name%.jpg" "%name%bak.jpg"
                copy "%windir%webscreenimg105.jpg" "%userprofile%Desktop背景图片\%name%.jpg"
                echo 图片备份成功!!!)
    
    ) else (
    echo 文件不存在,准备备份!
    copy "%windir%webscreenimg105.jpg" "%userprofile%Desktop背景图片\%name%.jpg"
    echo 图片备份成功!!!
    )

    参考:

    [BATCH]DOS批处理--根据当前日期和时间来创建文件夹和文件名_运维_champwang-CSDN博客 https://blog.csdn.net/champwang/article/details/47857477 

    批处理中setlocal enabledelayedexpansion的作用详细整理_DOS/BAT_脚本之家 https://www.jb51.net/article/29323.htm

    奶奶问孙子:4+1等于几 孙子说:等于6-1。 奶奶说:你明明知道答案,为什么不说? 孙子说:年轻人不讲5的……..
  • 相关阅读:
    C#实现图片的无损压缩
    C#实现图片的无损压缩
    ACM2034
    产品经理入门攻略(三)
    编程思想14.类型信息
    分布式ID生成策略 · fossi
    在加拿大找工作:如何写简历(适用理工科)
    支持向量机 SVM
    javaSE复习之——线程
    spring基于@Value绑定属Bean性失
  • 原文地址:https://www.cnblogs.com/jasy/p/12824881.html
Copyright © 2020-2023  润新知