我需要一些帮助来增加get-random的随机性,因此不会经常重复。
我一直在使用powershell:
$formats =
@("*.mpg")
$dir = Split-Path $MyInvocation.MyCommand.Path
gci "$dir\*" -include $formats | Get-Random -Count 1 |
Invoke-Item
我的应用程序是拥有一个家庭虚拟电视频道,可以在早上6点从多个文件夹中随机选择1个文件并整天播放到午夜,关机并启动,每天重复此过程。我发现的问题是,无论get-random命令使用什么,都倾向于经常选择完全相同的文件。因此,经过几个月的运行这个脚本,我看到日复一日选择完全相同的电影和一些从未选择过的电影。我猜是因为get-random使用时钟作为选择数字的因素?
有没有办法增加在这种情况下获得更广泛的文件.mpg的可能性,而不是重复选择相同的.mpg?
我的另一个选择是找到一个能够跟踪所选择的.mpg和#34;标记"它们,或按访问日期排序,而不是播放相同的文件两次,直到特定文件夹的所有文件都播放一次;然后"取消标记"所有文件并重新开始。对我而言,这听起来像是高级脚本,我只是没有自己的知识来获取。
对我的困境的任何见解都将受到极大的赞赏。有关我的具体细节的任何问题都可以帮助您确定此查询的结论。
**也许我想知道如何增加随机分布?我正在寻找一种方法,让日复一日的文件更多样化,重复次数更少。
答案 0 :(得分:0)
(访问时间)应该相当容易检查
$item = gci "$dir\*" -include $formats | where {$_.lastaccesstime -le (Get-Date).AddDays(-30)} |
Get-Random -Count 1
$item.LastAccessTime = Get-Date
$item | Invoke-Item