title: Replacing all # in filenames throughout subfolders in Windows
body: <p>Migrating about 200,000 files to OneDrive for business, and discovered that there are a few characters they don't like - the biggest offender is <code>#</code>.  I have about 3,000 files with a hash, and I'd like to replace them all with just <code>No.</code>. For example, old: <code>File#3.txt</code> new: <code>File No.3.txt</code></p>
  
  <p>I tried using a PowerShell script, but it doesn't like <code>#</code> either:</p>
  
  
  
  <pre class="lang-powershell prettyprint-override"><code>Get-ChildItem -Filter "*#*" -Recurse |
    Rename-Item -NewName { $_.name -replace '#',' No. ' }
  </code></pre>
  
  <p>I'm not having much luck figuring out the syntax for reserved characters - I tried <code>\#</code>, <code>#\</code>, <code>'*#*'</code>, no luck.</p>
  
  <p>Can anyone shed light on this or provide a quick method to recursively replace all of these hash tags?</p>
  
  <p>Thanks.</p>