我理解你这个不需要每个月最后一天先建立好文件夹,而只需每次复制前建好文件夹即可。假设你是excel表,后缀为 xls,代码如下 --------------------------------------------------------------------
我理解你这个不需要每个月最后一天先建立好文件夹,而只需每次复制前建好文件夹即可。假设你是excel表,后缀为 xls,代码如下 ------------------------------------------------------------------------------------------------------ @echo off rem 用当前日期建立一个文件夹 md d:\记录\ ![]() rem 复制 d:\1\2表格 文件到刚建立的日期名文件夹内,并重命名为文件夹名+文件本名 copy d:\1\2表格.xls d:\记录\%date:~0,4%%date:~5,2%%date:~8,2%\%date:~0,4%%date:~5,2%%date:~8,2%表格.xls ------------------------------------------------------------------------------------------------------ 把以上代码保存在d盘根目录下,名为everycopy.bat,再到命令行执行下列命令 at 12:00 /INTERACTIVE /every:M,T,W,Th,F,S,Su "d:\everycopy.bat" 这样就建立了一个任务计划,每天中午12点会自动运行这个批处理复制文件。时间可以自己改。也可以到控制面板的“任务计划”中手工建立计划 已验证通过: .bat 文件内容如下: @echo off forfiles /p "D:\temp" /s /m *.* /d -3 /c "cmd /c del @path"for /f "tokens=*" %%a in ('dir /b /ad /s "D:\temp"^|sort /r') do rd "%%a" 简要说明: “forfiles……” 此行是删除文件,"/d -3" 指示3天前,“/m *.*” 所有文件; "for /f ……" 此行是删除空文件夹。
如果直接在cmd中执行,“%%a” 改为 "%a"即可。
@echo off
rem 用当前日期建立一个文件夹
md e:\bak\%date:~0,4%%date:~5,2%%date:~8,2%
rem 复制 d:\1\下所有文件到e:\bak\文件夹下的刚建立的日期名文件夹内
xcopy d:\1\*.* e:\bak\%date:~0,4%%date:~5,2%%date:~8,2%\ /e
%删除e:\bak目录下所有大于7日创建日期的文件,但保留目录%
forfiles -p "e:\bak" -s -m * -d -7 -c "cmd /c del /q /s /f @path"
%删除e:\bak的空目录%
for /f "tokens=*" %%a in ('dir /b /ad /s "e:\bak"^|sort /r') do rd "%%a"
把以上代码保存在d盘根目录下,名为everybak.bat,再到命令行执行下列命令 at 12:00 /INTERACTIVE /every:M,T,W,Th,F,S,Su "d:\everybak.bat"
(责任编辑:admin) |