gpt4 book ai didi

powershell - 在我的脚本中添加文件名增量

转载 作者:行者123 更新时间:2023-12-04 01:16:18 25 4
gpt4 key购买 nike

我创建了一个脚本,可以将 pst 文件重命名为 acl 所有者。有用。我遇到的唯一问题是当同一个文件夹中有两个 pst 文件时,它们的名称相同。我怎样才能在我的脚本中添加一个增量。它用 Si = 1 和 Si++ 进行了试验,但没有结果。

这是我的脚本:

Get-ChildItem C:\Users\tester\* -Filter *.pst -recurse |
ForEach-Object{
$owner = ( $_ | Get-Acl ).Owner.Split("\")[1]
$newname = "$owner.pst"
$_ | Rename-Item -NewName $newname -Verbose -WhatIf
}

最佳答案

通过将已使用的名称添加到数组并在每次循环时检查,这是一种快速且快速的解决方法。

$increment = 1
$alreadyProcessed = @()
Get-ChildItem C:\Users\tester\* -Filter *.pst -recurse |
ForEach-Object{
$owner = ( $_ | Get-Acl ).Owner.Split("\")[1]
$newname = "$owner.pst"
if($alreadyProcessed.Contains($newName))
{
$newName = "$owner`$increment.pst"
$increment++
}
$alreadyProcessed += $newname

$_ | Rename-Item -NewName $newname -Verbose -WhatIf
}

这将确保每次都有唯一的名称。

关于powershell - 在我的脚本中添加文件名增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46330406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com