Win11锁屏聚焦壁纸批处理一键保存

565 阅读1分钟

请将下面代码保存到.bat的批处理文件里,然后运行(注意保存为 utf-8 的编码格式.)

@echo off
:: 设置解码模式为 utf-8
chcp 65001 > NUL
echo.
echo --------------------------
echo 作者: 马小战
echo 更新: 20230812  
echo 作用: 获取 win11 锁屏壁纸  
echo --------------------------
echo.

:: 定义聚焦壁纸文件所在路径
set pics_path=C:\Users\%username%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets
:: 定义目标目录
set "folder_name=win_wall_papers"
:: 用户桌面目录
set "desktop_path=%USERPROFILE%\Desktop"
:: 要保存到的目标文件夹
set "folder_path=%desktop_path%\%folder_name%"

:: 创建目标文件夹
if exist "%folder_path%" (
    echo 文件夹已存在,无需创建.
) else (
    mkdir "%folder_path%" >nul 2>&1
    if errorlevel 1 (
        echo 创建文件夹失败!
    ) else (
        echo 文件夹创建成功!
    )
)

:: 复制目录下的所有文件 并将输出保存到临时文件
xcopy /E /I /Y "%pics_path%" "%folder_path%" > %desktop_path%\temp_xcopy_output.txt


:: 提取复制结果数字
for /f "tokens=1 delims= " %%a in ('type %desktop_path%\temp_xcopy_output.txt ^| find "File(s) copied"') do (
    if not "%%a"=="" (
        echo 已复制: %%a 个文件.
    ) else (
        echo 复制文件数未知.
    )
)
:: 删除临时文件
del %desktop_path%\temp_xcopy_output.txt
IF %ERRORLEVEL% equ 0 (
    echo 删除临时文件成功.
) else (
    echo 删除临时文件失败.
)

:: 重命名复制文件夹里的文件后缀
:: 定义文件后缀
set file_extension=.png
for %%i in (%folder_path%\*) do (
    ren "%%~i" "%%~ni%file_extension%"
)