gpt4 book ai didi

string - 删除包含特定字符串的重复快捷方式

转载 作者:行者123 更新时间:2023-12-02 06:41:39 24 4
gpt4 key购买 nike

我们有很多用户的桌面上有重复的文件 (Windows 10)。我想创建一个每 X 分钟运行一次或登录系统后运行一次的脚本。

我们的用户当前看到以下快捷方式 (.lnk):

  • Dummy.lnk (正确的快捷方式,应保持不变)
  • 虚拟 - copy.lnk (重复的快捷方式,应删除)
  • Dummy-OFFICE-QB4V70A.lnk (包含计算机名称的重复快捷方式,应删除)

所以简而言之,我想保留“原始”快捷方式,但我想删除所有包含“- copy.lnk”和/或“-computername”的快捷方式。 lnk'。

我还尝试使用 %computername% 变量,但我不知道如何在我的代码中实现它。每台计算机都有不同且唯一的名称,因此我无法使用预定义的计算机名称。

关于如何实现这一目标有什么建议吗?我尝试使用下面的代码,但这会删除所有 .lnk(快捷方式)文件,而不仅仅是重复的文件。

#(Get-ChildItem Dummy.lnk | Select-String -Pattern "OFFICE" | Select-Object -ExpandProperty path -Unique) | ForEach-Object{Remove-Item -Force -LiteralPath $_}

我更喜欢使用 Powershell,这样我就可以使用组策略部署脚本。

最佳答案

我将使用 Where-Object cmdlet 来过滤要删除的所有快捷方式,并将它们通过管道传输到 Remove-Item cmdlet:

Get-ChildItem -Path 'c:\yourPath' -Filter '*.lnk' | 
Where-Object { $_.Name -match '- Copy\.lnk$' -or $_.Name -like "*$($env:Computername)*"} |
Remove-Item

关于string - 删除包含特定字符串的重复快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59301812/

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