Question [Résolu] base de registre/menu contextuel

Plus d'informations
il y a 13 ans 7 mois #12435 par Granduel
Bonjour,

je souhaiterais ajouter un menu contextuel dans l'explorateur Windows via Powershell (par exemple \"exécuter le script toto\") qui s'affiche pour tous les fichiers. Dans la base de registre, il s'agit de la clé : HKEY_CLASSES_ROOT/*

Je ne sais pas si c'est possible. J'ai trouvé ce lien : fortheloveofcode.wordpress.com/2008/06/0...-hkcr-in-powershell/ . L'auteur donne crée le PSDrive approprié :
[code:1]New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT[/code:1]
Je peux faire :
[code:1]PS HKCR:\> ls .doc
Hive: HKEY_CLASSES_ROOT\.doc
SKC VC Name Property
--- -- ----
0 1 OpenWithProgIDs {OpenOffice.org.Doc}
0 1 PersistentHandler {(default)}
1 0 ShellEx {}
1 0 Word.Document.8 {}
[/code:1]
Mais comment faire pour une clé appelé \"*\" ? J'ai naïvement essayé de l'échapper \"`*\", mais non !
Avez-vous une idée et d'ailleurs est-ce que ça peut marcher ?!
Merci d'avance,
Cordialement,
jgr
[version : Powershell-2.0/win 7]<br><br>Message édité par: jgr, à: 27/07/12 15:03

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 7 mois #12438 par Matthew BETTON
Bonjour,

Tu n'es pas obligé de monter au préalable un provider sur HKCR. HKCR pointe en réalité sur la ruche [code:1]HKLM\Software\Classes[/code:1].

Quelques solutions :

[code:1]Set-Location -LiteralPath \&quot;HKLM:\Software\Classes\`*\&quot;[/code:1]

[code:1]Set-Location -LiteralPath 'HKLM:\Software\Classes\*'[/code:1]

[code:1]Get-ChildItem -LiteralPath 'HKLM:\Software\Classes\*'[/code:1]

@ +<br><br>Message édité par: Matthew BETTON, à: 27/07/12 10:45

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 7 mois #12440 par Granduel
Merci beaucoup.

Ce qui me manquait, c'était \&quot;Literalpath\&quot;, le premier argument est Path en fait, doh!
[code:1]
PS D:\temp&gt; cd \&quot;HKLM:\Software\Classes\`*\&quot;
Set-Location : Impossible de définir l'emplacement,
car le chemin d'accès « HKLM:\Software\Classes\* » a
été résolu en plusieurs conteneurs. Vous ne pouvez
affecter à l'emplacement qu'un seul conteneur à la
fois.
Au niveau de ligne : 1 Caractère : 3
+ cd &lt;&lt;&lt;&lt; \&quot;HKLM:\Software\Classes\`*\&quot;
+ CategoryInfo : InvalidArgument: ( [Set-Location], PSArgumentException
+ FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.SetLocationCommand

PS D:\temp&gt; cd -literalpath \&quot;HKLM:\Software\Classes\`*\&quot;
PS HKLM:\Software\Classes\*&gt;
[/code:1]

Cordialement,
jgr

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 7 mois #12441 par Granduel
J'ai oublié de noter que le problème était [Résolu].

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.047 secondes
Propulsé par Kunena