【发布时间】:2019-05-07 02:32:31
【问题描述】:
我正在编写一个脚本,用于监控 downloads 文件夹中已完成的项目,并在找到后开始处理该项目。
我当前的检测方法尝试重命名子目录,如果成功则假定完成。对于单个文件,它会尝试将文件移动到名为\filename\filename.ext 的子目录中,如果成功则假定完成。这与已知临时文件的列表一起。
虽然此方法在文件/目录是否确实在使用中可能是准确的,但它可能不适用于某些在等待恢复时不锁定文件的浏览器或下载器。仅当 xxdays 旧时才检查日期和进程的版本并不理想,因为所有下载都会延迟。
有人有更好的主意吗?
【问题讨论】:
-
至于这个 --- “我正在编写一个脚本,用于监视下载文件夹中已完成的项目,并在发现时开始处理该项目。” --- 你不是在说,展示你是如何做到这一点的,这可能是所有这些额外努力的根本原因。您是使用自己的自定义代码,还是使用 Bits Transfer 模块/cmdlet?位具有指示完成的参数。 - Get-Command -Name 'bits'
-
浏览器不会在下载文件时锁定文件。该文件无效/序列化足以被任何东西打开,当然浏览器不会测试完整的下载.. 大多数下载,在下载过程中创建一个临时文件,然后根据下载方式获得它的名称被要求。当下载失败或由于某种原因损坏时会发生什么?