title: Include/Exclude specific files using wildcards in MSBuild
body: <p>I have a directory that contains both an uncompressed and a minified copy of jQuery. Depending on my deployment scenario, I may only want to distribute one or the other. Based on Seva Titov's answer, I have an ItemGroup with the following item:</p>
  
  <pre><code>&lt;jQueryFiles Include="$(MSBuildThisFileDirectory)..\..\js\jquery\*.js"
               Exclude="$(MSBuildThisFileDirectory)..\..\js\jquery\*.min.js" /&gt;
  </code></pre>
  
  <p>which will just grab jquery.2.1.1.js and exclude the minified version.</p>
  
  <p>For the opposite, it is even simpler with just:</p>
  
  <pre><code>&lt;jQueryFiles Include="$(MSBuildThisFileDirectory)..\..\js\jquery\*.min.js" /&gt;
  </code></pre>
  
  <p>which will only grab the minified version.</p>
  
  <p>But what if I have a scenario where the folder also includes other files to copy like images?</p>
  
  <p>I can generalize copying non-minified files with recursion by using:</p>
  
  <pre><code>&lt;jQueryFiles Include="$(MSBuildThisFileDirectory)..\..\js\jquery\**\*.*"
               Exclude="$(MSBuildThisFileDirectory)..\..\js\jquery\**\*.min.*" /&gt;
  </code></pre>
  
  <p>My question now is, how do I achieve the opposite effect and grab all files with ANY extension except plain ".js"? So I might want "jquery\images\foo.png" AND "jquery\jquery.2.1.1.min.js" but I want to exclude the unminified js files.</p>