我想写一个批处理,批量创建一批文件夹,比如现在是2023年3月,就创建2023年2月起,向前12个月的文件夹,名称从202302到202203,以及一个“更久以前”的文件,然后把桌面的文档、表格、ppt、txt都按照最后修改的时间放到对应的月份文件夹中,麻烦提供代码 
时间: 2023-03-26 12:01:50 浏览: 20
你好,以下是批处理的代码:
@echo off
setlocal enabledelayedexpansion
set "base_folder=%userprofile%\Desktop"
set "start_year=2023"
set "start_month=02"
set "end_month=03"
set "num_months=12"
set /a "current_year=%start_year%"
set /a "current_month=%start_month%"
set /a "end_year=%start_year%"
set /a "end_month=%end_month%"
for /l %%i in (1,1,%num_months%) do (
set /a "current_month-=1"
if !current_month! equ (
set /a "current_year-=1"
set "current_month=12"
)
set "folder_name=!current_year!!current_month!"
md "%base_folder%\!folder_name!"
)
md "%base_folder%\更久以前"
for %%f in ("%base_folder%\*.*") do (
if not "%%~xf"==".lnk" (
for /f "tokens=1-3 delims=/" %%a in ("%%~tf") do (
set "file_year=%%c"
set "file_month=%%a"
if !file_year! lss !current_year! (
move "%%~f" "%base_folder%\更久以前"
) else if !file_year! equ !current_year! (
if !file_month! lss !current_month! (
move "%%~f" "%base_folder%\更久以前"
) else (
set "folder_name=!file_year!!file_month!"
move "%%~f" "%base_folder%\!folder_name!"
)
) else (
set "folder_name=!file_year!!file_month!"
move "%%~f" "%base_folder%\!folder_name!"
)
)
)
)
echo "批处理已完成。"
希望能对你有所帮助。