2008-11-20 3 views
0

Sur la base des conseils fournis à http://www.tweakguides.com/VA_4.html pour empêcher Windows Vista de réorganiser "intelligemment" les formats de colonne dans Windows Explorer, j'ai écrit un script pour automatiser un peu le processus.RegDelete ne peut pas supprimer la clé de Registre dans WSH 5.7

Dim WshShell 
Set WshShell = WScript.CreateObject("WScript.Shell") 


'Remove the "filthy" reg keys first. 
regKey = "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU\" 


WScript.Echo "Deleting " & regKey & VbCrLf 
WshShell.RegDelete regKey 

regKey = "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\" 

WScript.Echo "Deleting " & regKey & VbCrLf 
WshShell.RegDelete regKey 


'Then recreate a clean Bags key, with sub-keys and FolderType value. 
regKey = "HKCU\Software\Classes\Local Settings\Software\Microsoft\ Windows\Shell\Bags\AllFolders\Shell\FolderType" 

WScript.Echo "Creating " & regKey & " as 'NotSpecified' REG_SZ " & VbCrLf 
WshShell.RegWrite regKey, "NotSpecified", "REG_SZ" 

WScript.Echo "Now define the columns of your preference in Windows Explorer," & VbCrLf 
WScript.Echo "and click the Apply to Folders button in Folder Options." & VbCrLf 

Mais il refuse de supprimer la clé de Registre

E:\archive\settings\Windows Vista Explorer columns.vbs(9, 1) WshShell.RegDelete: 
Unable to remove registry key "HKCU\Software\Classes\Local Settings\Software\Mi 
crosoft\Windows\Shell\BagMRU\". 

La suggestion est de mettre de fuite « \ » pour indiquer une clé, que je l'ai fait. Des idées?

+0

Il peut avoir à faire avec des autorisations, êtes-vous en cours d'exécution en tant qu'administrateur, et sont les clés modifiables par l'utilisateur /groupe? –

+0

Oui, je suis administrateur, et oui je désactive UAC tout le temps ;-) – icelava

+0

Avez-vous vérifié que vous pouvez supprimer la clé manuellement via RegEdit? – aphoria

Répondre

1

Désactiver le contrôle de compte d'utilisateur dans Windows Vista, ce script fonctionnera correctement.

+0

Je n'utilise jamais l'UAC sur une machine Win Vista/2008/7 ;-) – icelava

2

Le paramètre de votre registre comporte-t-il des sous-clés? Je pense que vous devez les supprimer avant de pouvoir supprimer la clé.

1

pause il dooown:)

Const HKCR=&H80000000:Const HKCU=&H80000001:Const HKLM=&H80000002:Const HKU=&H80000003:Const HKCC=&H80000005 

dim pc,o,hive,key,name,value,i 
pc="." 
Set o=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & pc & "\root\default:StdRegProv") 

hive=HKCU 
key="Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\knownfolders\0\windows wallpapers\mergefolders" 
regrid 5 

sub regrid(levels) 
dim a,n,j,base,s 
    a=split(key,"\") 
    n=ubound(a) 
    base="":for i=0 to levels-1:base=base & a(i) & "\":next 
    for i=n to levels step -1 
     s="":for j=levels to i:s=s & a(j) & "\":next 
     o.DeleteKey hive,base & s 
    next 
end sub 

vous remercie tous pour votre soutien à la libération de l'éducation

Questions connexes