2016-11-19 2 views
-1

Entschuldigung wenn dies zuvor beantwortet wurde, habe ich unermüdlich gesucht und kann nicht die genaue Antwort finden Ich bin ein Mac-Benutzer und habe nicht in Windows-Registrierung zuvor gewagt.Verwenden Sie Powershell, um Datei aus einem Ordner zu löschen, der durch Windows-Registrierungswert

Ich erstelle ein Installationsprogramm für Audio-Plugins und habe eine separate Demoversion der Titel. In der Registrierung für die Demoversion, habe ich den Eintrag

Demo=1 

und haben auch Wege für verschiedene Komponenten des Plugins gesetzt, die optional installiert sind, werden diese in der Registrierung gespeichert werden, wenn der Benutzer diese in verschiedenen installieren kann Verzeichnisse auf ihrem Host-Software

VST3=C:\Somepath\VST3 
VST32=C\AnotherPath\VSTPlugins 
VST64=C\AnotherPathAgain\VSTPlugins 

ich habe je gefunden, wie die Registrierung zu suchen, wenn Demo = 1

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

Wie richte ich Powershell zu überprüfen um eine bestimmte Datei 'structure.vst3' aus dem in VST3 oder 'structure.dll' festgelegten Pfad aus den in VST32 und VST64 festgelegten Pfaden zu entfernen. Beachten Sie, dass diese alle vorhanden sein können oder nur 1 von ihnen abhängig von der ursprünglichen Installation.

+1

Bitte klären Sie (direkt in Ihrer Frage), was das Entfernen einer bestimmten Datei bedeutet. Einen Wert wie 'VST3' als Ganzes entfernen? Wie entscheiden Sie, was Sie entfernen möchten? – mklement0

Antwort

0

Sie haben ein paar verschiedene Wege (Wortspiel beabsichtigt) können Sie hier nehmen. Sie können Ihre Dateien "demo = 1" in einem Ordner und die anderen in einem anderen Ordner organisieren und auf den Speicherort des Demoordners in der Registrierung verweisen. Dann erhalten Sie den Speicherort der Datei und verwenden Sie del, um sie zu entfernen. Viel einfacher und erfordert nicht, dass Sie mit unnötigen Registrierungseinträgen verfolgen, welche dort sind.

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

Ok das ist eine Idee, obwohl es für den Benutzer nicht sehr hübsch aussieht, ein Verzeichnis mit solchen Ordnern füllend, aber es scheint die einfachste Lösung ... Danke – DaveClissold

+0

Upvote, wenn es bitte geholfen hat :) – Dimesio

Verwandte Themen