繁体   English   中英

Get-ChildItem文件排序

[英]Get-ChildItem File Sorting

我有一个在工作时运行的脚本,该脚本使用get-childitem来获取存储驱动器中某种类型的所有文件,并对它们进行排序并将其移至存档驱动器。 我想使该过程每天运行一次,但是我意识到这样做会遇到问题。

有时,运行此脚本时,一个或两个文件仍将转移到我们的存储驱动器中。 如果我让脚本在仍在从客户那里转移文件的同时移动该文件,则该文件将被损坏,以后将无法打开。

我知道如何根据文件类型和日期以及其他基本参数进行过滤,但是我不确定如何告诉此脚本排除当前正在增长的文件。

以下是我目前用来过滤我要移动的内容的内容:

$TargetType = "*.SomeFileType"
$TargetDrive = "\\Some\UNC\Path"

Get-ChildItem $targetdrive\$targettype | ForEach-Object {$_.fullname} | Sort-Object | out-file $outStorageMove

另外,目前,我将get-childitem找到的所有内容都放入一个文本文件中,稍后再调用它,以便我可以手动编辑希望它移动的内容。 如果可能的话,我想摆脱这一步。

因此,移动本质上是复制和删除。

因此,与gvee状态一样,Copy-Item是一个更好的选择,它可以使您摆脱陈述的关注,监视复制是否完成。 我要添加的内容是在完成复制并验证了副本后将其删除。

或使用Bits做这项工作。

使用Windows PowerShell创建BITS传输作业https://msdn.microsoft.com/zh-cn/library/windows/desktop/ee663885(v=vs.85).aspx可以使用PowerShell cmdlet创建同步和异步背景智能传输服务(BITS)传输作业。

本主题中的所有示例都使用Start-BitsTransfer cmdlet。 要使用cmdlet,请确保首先导入模块。 要安装该模块,请运行以下命令:Import-Module BitsTransfer。 有关更多信息,请在PowerShell提示符下键入Get-Help Start-BitsTransfer。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM