我试图从所有Windows机器上卸载7个ZIP;复制文件夹多个位置,该位置不允许标准过程删除它&现在有与这些有关的多个漏洞。
因此,寻找一些可以搜索所有固定驱动器的ProwerShell脚本,以获取7-zip&运行命令类似于%发现路径% 7-zip uninstall.exe
如果您能为此提供帮助,请非常感谢。
使用Get-CimInstance
找到产品后,您可以简单地调用卸载的CimMethod
。
运行以下以查找并删除任何版本的7-zip。不是最快的,而是运行并忘记。
Get-CimInstance -Class Win32_Product | Where-Object Name -Like '7-zip*' | `
Invoke-CimMethod -MethodName Uninstall
我认为这是通往幸福的颠簸。
相反,查找安装位置,然后运行卸载字符串:
Get-ChildItem -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall"
-Recurse | Where {$_.GetValue("DisplayName") -like "*7*zip*" }
| ForEach-Object {
$_.GetValue("DisplayName"); $_.GetValue("UninstallString") ;
; Start-Process $uninstall;
}
这仍然是核能新安装的军备竞赛,但至少对每台机器来说都是动态的。
尝试使用Microsoft的Winget。
-
https://github.com/microsoft/winget-cli
-
Winget似乎是从各种来源管理Windows应用程序的最终工具。winget可以安装应用程序,并卸载可能是从各种方式源(例如7zip(安装的应用程序。
例如,这在我的PC上起作用:
- 使用Winget安装:
winget.exe install -act -act -Id 7zip.7zip
- 使用Winget卸载," 7-zip"将搜索并查找" 7zip.7zip",然后卸载它。
winget.exe卸载 - ID 7-zip- siLent - accept-source-greements
- 使用winget卸载,指定确切的名称" 7zip.7zip.7zip"。
winget.exe卸载 - exact-id 7zip.7zip -siLent - accept-source-quremements
注意:
-
7zip本可以手动安装,但是Winget仍将卸载它
-
- 默默用途的其他用途也可能需要 - accept-package-agreements参数。
-
搜索7-zip:
winget.exe搜索7zip
Name Id Version Match Source
---------------------------------------------------------------------------------------------------------------
9 ZIP - open rar, zip, 7zip, gzip 9NBLGGH3TDHG Unknown msstore
Easy Unrar - ZArchiver, Unzip & Zip, gzip, 7zip 9PLNC0QX58D9 Unknown msstore
7-Zip 7zip.7zip 22.00 Moniker: 7zip winget
7-Zip ZS mcmilk.7zip-zstd 21.03 ZS v1.5.0 R2 Tag: 7zip winget
NanaZip Preview M2Team.NanaZip.Preview 1.2.253.0 Tag: 7zip winget
NanaZip M2Team.NanaZip 1.2.252.0 Tag: 7zip winget
7-Zip Alpha (msi) 7zip.7zip.Alpha.msi 21.03.00.0 winget
7-Zip Alpha (exe) 7zip.7zip.Alpha.exe 21.04 beta winget
- 升级7-zip:
winget.exe升级7zip.7zip