Move obj folder in Visual Studio 2012

...And (in addition to Sam Harwell) You can use constants and can change any particular <PropertyGroup/> (only "release" for example) this way:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  <Optimize>true</Optimize>
  .....
  <OutputPath>\your_projects\bin\$(SolutionName)\$(MSBuildProjectName)\$(Configuration)\</OutputPath>
  <IntermediateOutputPath>\your_projects\obj\$(SolutionName)\$(MSBuildProjectName)\$(Configuration)\</IntermediateOutputPath>
  <DefineConstants>TRACE</DefineConstants>
</PropertyGroup>

You'll need to edit the project file (XML) to specify the <BaseIntermediateOutputPath>. This value defaults to obj\.

<PropertyGroup>
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  ...
  <BaseIntermediateOutputPath>some\path\</BaseIntermediateOutputPath>
</PropertyGroup>