This might be what you need to do it manually (from the purify spell, has not been tested):

<code>
  local lEnchantments, oEnchantment

  lEnchantments = $
  lList = Send(self,@GetEnchantmentList);

  for oEnchantment in lList
        {
           oSpell = Nth(oEnchantment,2);

            if Send(oSpell,@IsPersonalEnchantment)
              AND Send(oSpell,@CanBeRemovedByPlayer)
              AND NOT Send(oSpell,@IsHarmful)
            {
               lEnchantments = cons(oSpell,lEnchantments);
            }
        }

  iNumEnchantments = length(lEnchantments);

  for oEnchantment in lEnchantments
        {
              Send(who,@RemoveEnchantment,#what=oEnchantment);
        } 
</code>