建立两次之间连续执行robocopy powershell

时间:2013-06-20 10:56:50

标签: powershell robocopy

我有一个程序可以在特定文件夹中创建临时文件。然后,几秒钟后自动删除这些文件。

我想将这些临时文件复制到特定文件夹,我想使用powershell脚本来执行此操作:

  robocopy startFolder destinationFolder *.TIFF *.JPEG *.jpg *.PNG *.GIF *.BMP *.ICO *.PBM *.PGM *.PPM /s /XO

我的问题是我无法使用计划任务(因为限制秒的问题)或将此PowerShell安装为带有PowerShell脚本的Windows服务(据我所知是一种不好的做法)。我需要这个powershell一直在运行,试图在创建文件之前获取文件,然后删除这些文件夹。

你可以帮我一把吗?谢谢!

1 个答案:

答案 0 :(得分:3)

不确定它是否符合您的要求,但robocopy确实内置了目录监控功能。您可以添加/mon:1,它应该监视源目录并在检测到一个更改时重新运行该副本(例如,新的或更改的文件)。

然而,这可能是使用这种方法,robocopy不会退出 - 它会一直运行直到你杀死它。

编辑:我刚刚注意到你在问题标题中指明这应该在两个既定时间之间运行,在这种情况下你可以添加/rh:hhmm-hhmm选项来指定新副本可以启动的时间。例如,/rh:1000-1200应仅在上午10点到中午之间执行副本(并因此进行监控)。

警告:我没有尝试使用robocopy的“监视器”选项,所以我不确定发生更改和重新运行副本之间会出现什么样的延迟,但是值得一试镜头。