Windows批处理文件:使用UnixUtils find命令将早于X分钟的文件移动到其他目录

时间:2012-04-23 20:47:21

标签: windows unix

我找到了适用于Windows的unixutils,并尝试使用find命令将超过30分钟的文件移动到另一个目录。

我已经尝试了以下所有内容(也在SourceDir和/或TargetDir的末尾使用\)但是得到了各种错误,我很确定是由于unix使用/分隔目录而Windows使用\来分隔目录:

find C:\SourceDir -name * -mmin +30 -type f -exec "move {} C:\TargetDir" ;
find C:\SourceDir -name * -mmin +30 -type f -exec "move {} C:\TargetDir" +
find C:\SourceDir -name * -mmin +30 -type f -execdir "move {} C:\TargetDir" ;
find C:\SourceDir -name * -mmin +30 -type f -execdir "move {} C:\TargetDir" +

有人有这个工作吗?

我也不喜欢使用这个实用程序 - 它似乎很容易做到。但是,我必须通过命令行执行此操作,作为预定作业的一部分,并且非常不希望安装任何软件。但是,可以接受复制独立的单个文件实用程序。

我相信Windows Powershell也可供我使用。

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了帮助我使用Windows Powershell的人。我想我会在这里提供一个更新,以防以后再帮助别人。

以下Powershell命令执行相同的操作:

get-childitem -Path "C:\SourceDir" -recurse | where-object {$_.LastWriteTime -le (get-date).AddMinutes(-30)} | move-item -destination "C:\TargetDir" -force