使用Powershell从windows注册表值设置的文件夹中删除文件

使用Powershell从windows注册表值设置的文件夹中删除文件,powershell,registry,Powershell,Registry,很抱歉,如果以前有人回答过这个问题,我已经不知疲倦地搜索过了,但找不到确切的答案。我是Mac用户,以前没有进入过Windows注册表 我正在创建一个音频插件安装程序,并有一个单独的演示版本的标题。在演示版本的注册表中,我有一个条目 Demo=1 并且还为插件的各个组件设置了路径,这些组件是可选安装的,它们存储在注册表中,因为用户可以根据其主机软件将它们安装到不同的目录中 VST3=C:\Somepath\VST3 VST32=C\AnotherPath\VSTPlugins VST64=C\A

很抱歉,如果以前有人回答过这个问题,我已经不知疲倦地搜索过了,但找不到确切的答案。我是Mac用户,以前没有进入过Windows注册表

我正在创建一个音频插件安装程序,并有一个单独的演示版本的标题。在演示版本的注册表中,我有一个条目

Demo=1
并且还为插件的各个组件设置了路径,这些组件是可选安装的,它们存储在注册表中,因为用户可以根据其主机软件将它们安装到不同的目录中

VST3=C:\Somepath\VST3
VST32=C\AnotherPath\VSTPlugins
VST64=C\AnotherPathAgain\VSTPlugins
我已经找到了如何搜索注册表来检查Demo=1

$val = Get-ItemProperty -Path hklm:software\Audio Vitamins\Structure -Name “Demo”
if($val.Demo -eq 1)
{
  **** This is where I need help *****
}

如何设置Powershell以从vst3中设置的路径中删除特定文件“structure.vst3”,或从VST32和VST64中设置的路径中删除“structure.dll”。注:根据原始安装情况,这些可能全部存在,也可能仅存在一个

你可以在这里走两条不同的路(双关语)。 您可以将“demo=1”文件组织到一个文件夹中,将其他文件组织到另一个文件夹中,并引用注册表中的demo文件夹位置。然后获取文件位置并使用del删除它们。更容易,并且不需要您跟踪哪些有不必要的注册表项

$demofolder = gp -path HKLM:\path\to\registry\key -Name "demofolder"
dir $demofolder -file|%{del $_ -force}

请澄清(直接在您的问题中)删除特定文件意味着什么。是否整体删除诸如
VST3
之类的值?你如何决定删除什么?好的,这是一个想法,虽然对用户来说它看起来不是很漂亮,用这样的文件夹填充目录,但这似乎是最简单的解决方案。。。谢谢