将根据修改date复制文件的脚本

我需要运行一个脚本,它将根据修改date将文件从一个目录复制到另一个目录。 基本上我有一个数据库转储到一个目录每天的基础上,我希望能够从每个月的第一个复制数据库到不同的目录,以便我可以删除已删除的文件夹中的所有其他文件。

有人可以帮我吗?

这是我想在Windows Server 2003上运行的脚本。

提前致谢。

使用Robocopy这是一个内置的操作系统的function,语法应该是沿着这个线的东西。

Robocopy“\ source”“\ destination”/ mir / mon:1 / mot:1 / R:3 / W:10 / COPY:DAT /log:c:\tools\robolog.txt / NDL / NP / Z

创build并保存为一个batch file有一个计划的任务运行它一天23小时,该过程杀死后重新启动。

这里是所有命令和函数的technet参考http://technet.microsoft.com/en-us/library/cc733145(WS.10).aspx

您可以在每个月的第一个时间安排一个batch file,以删除超过1天的文件(通过http://home.mnet-online.de/horst.muc/wcon.htm中的 delage32),并将剩余的文件复制到另一个文件夹。

Powershell也可以轻松做到这一点。 以下是我使用的脚本的清理片段:

$BaseDirectory = C:\temp $SelectionFilter = "*.tmp" $intFileAge = 7 $DueDate = (get-date).addDays(-$intFileAge) # Create an array of files where CreationDate is before DueDate # and it's not a directory $arrFiles = get-childitem -recurse -path $BaseDirectory -Filter $SelectionFilter | ` Where-object {$_.CreationTime -le $DueDate -and $_.psIsContainer -ne $true} Foreach ($oldfile in $arrFiles) { Copy-Item $oldFile.fullName -destination c:\elsewhere\ } 

脚本的“动词”可以很容易地移动项目或移除项目。