bat批处理复制N天前的文件夹及里面的文件到其他目录?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat批处理复制N天前的文件夹及里面的文件到其他目录?相关的知识,希望对你有一定的参考价值。

根据当天日期,将N天前的文件夹及里面的文件复制到另一个盘符目录,例如下图将25天前的这几个文件夹及里面的文件放在其他目录

参考技术A

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI

<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 将一个指定目录里指定天数以前以日期命名的子文件夹拷贝/复制到另一个指定目录里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$ago=-25;
$oldfolder="D:\\xxx\\RecordFile";
$newfolder="E:\\yyy\\newfolder";

if(-not (test-path -literal $oldfolder))write-host ('"'+$oldfolder+'" Path Error Or Not Existed');exit;
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$agodate=(get-date).AddDays($ago).ToString('yyyyMMdd');
write-host ('0 days ago=1' -f [Math]::Abs($ago),$agodate);
$folders=@(dir -literal $oldfolder|?($_.Name -match '^\\d8$') -and ($_ -is [System.IO.DirectoryInfo]));
for($i=0;$i -lt $folders.length;$i++)
    if($folders[$i].Name -le $agodate)$folders[$i].FullName+$c+$newfolder;

追问

大佬,运行完成并没复制过去

追答

按运行后窗口标题栏中的提示联系我

以上是关于bat批处理复制N天前的文件夹及里面的文件到其他目录?的主要内容,如果未能解决你的问题,请参考以下文章

怎样使用bat任务删除7天前的文件夹及其里面的文件

怎样使用bat任务删除7天前的文件夹及其里面的文件

删除n天前的文件或文件夹 bat批处理

批处理脚本:判断某个文件夹超过5G时,清空该文件夹中2天前的文件?

bat脚本:自动压缩n天前的文件转载

怎样用bat 文件 批量删除指定文件名的文件夹