# Windows registry delete value oddity

**URL:** <https://www.ruby-forum.com/t/windows-registry-delete-value-oddity/57981>\
**Category:** Ruby\
**Created:** [April 17, 2006, 2:14pm UTC](https://www.ruby-forum.com/t/windows-registry-delete-value-oddity/57981 "2006-04-17T14:14:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![brad7a0](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/53a042/32.png) [@brad7a0](https://www.ruby-forum.com/u/brad7a0)\
**Post date:** [April 17, 2006, 2:14pm UTC](https://www.ruby-forum.com/t/windows-registry-delete-value-oddity/57981/1 "2006-04-17T14:14:13Z")

</div>

Say I have four registry values under the same key with these names:

1. ‘this\_text’
2. ‘this\_text1’
3. ‘this\_text2’
4. ‘this\_text3’

When I run the script below, two of the values will be deleted. When I  
run it again, one value will be deleted. On the third run, the last  
value will be deleted. I don’t understand why all of the values are not  
deleted on the first run.

Win32::Registry::HKEY\_LOCAL\_MACHINE.open(key,  
Win32::Registry::KEY\_ALL\_ACCESS) do |reg|

reg.each\_value do |name, type, data|

```
if name.include?('this_text')

  reg.delete_value(name)

end

```

end

end

Could someone point out what I’m doing wrong?

Thanks,  
Brad
