diff --git a/Mkfiles/vc10/genperf/genperf.vcxproj b/Mkfiles/vc10/genperf/genperf.vcxproj
index 3ca1fb45..b94d5a2b 100644
--- a/Mkfiles/vc10/genperf/genperf.vcxproj
+++ b/Mkfiles/vc10/genperf/genperf.vcxproj
@@ -44,6 +44,10 @@
$(Platform)\$(Configuration)\
$(Platform)\$(Configuration)\
false
+ false
+ false
+ false
+ false
diff --git a/Mkfiles/vc10/genperf/run.bat b/Mkfiles/vc10/genperf/run.bat
index 9c22b57e..5827138b 100644
--- a/Mkfiles/vc10/genperf/run.bat
+++ b/Mkfiles/vc10/genperf/run.bat
@@ -16,7 +16,13 @@ call %_python_% modules\arch\x86\gen_x86_insn.py
:therest
@echo on
-%1 x86insn_nasm.gperf x86insn_nasm.c
-%1 x86insn_gas.gperf x86insn_gas.c
-%1 modules\arch\x86\x86cpu.gperf x86cpu.c
-%1 modules\arch\x86\x86regtmod.gperf x86regtmod.c
+call :update %1 x86insn_nasm.gperf x86insn_nasm.c
+call :update %1 x86insn_gas.gperf x86insn_gas.c
+call :update %1 modules\arch\x86\x86cpu.gperf x86cpu.c
+call :update %1 modules\arch\x86\x86regtmod.gperf x86regtmod.c
+goto :eof
+
+:update
+%1 %2 tf
+call mkfiles\vc10\out_copy_rename tf .\ %3
+del tf
diff --git a/Mkfiles/vc10/libyasm/libyasm.vcxproj b/Mkfiles/vc10/libyasm/libyasm.vcxproj
index a480d2a6..af67e44d 100644
--- a/Mkfiles/vc10/libyasm/libyasm.vcxproj
+++ b/Mkfiles/vc10/libyasm/libyasm.vcxproj
@@ -229,15 +229,12 @@
-
-
-
@@ -252,7 +249,6 @@
-
diff --git a/Mkfiles/vc10/libyasm/libyasm.vcxproj.filters b/Mkfiles/vc10/libyasm/libyasm.vcxproj.filters
index aaad93d7..6385583d 100644
--- a/Mkfiles/vc10/libyasm/libyasm.vcxproj.filters
+++ b/Mkfiles/vc10/libyasm/libyasm.vcxproj.filters
@@ -106,9 +106,6 @@
Header Files
-
- Header Files
-
Header Files
@@ -127,9 +124,6 @@
Header Files
-
- Header Files
-
Header Files
@@ -175,18 +169,12 @@
Header Files
-
- Header Files
-
Header Files
Header Files
-
- Header Files
-
diff --git a/Mkfiles/vc10/out_copy_rename.bat b/Mkfiles/vc10/out_copy_rename.bat
new file mode 100644
index 00000000..349ee330
--- /dev/null
+++ b/Mkfiles/vc10/out_copy_rename.bat
@@ -0,0 +1,42 @@
+@echo off
+if not exist %1 goto nofile
+if exist %2 goto copy
+
+echo creating directory %2
+md %2 > nul
+
+:copy
+set str=%2
+for /f "useback tokens=*" %%a in ('%str%') do set str=%%~a
+set str=%str:~-1%
+if %str% == "\" goto hasbackslash
+
+if not exist %2\%3 goto cpy
+fc %1 %2\%3 > nul && if not %errorlevel 1 goto exit
+echo overwriting %2\%3 with %1
+copy %1 %2\%3 > nul
+goto exit
+
+:cpy
+echo copying %1 to %2\%3
+copy %1 %2\%3 > nul
+goto exit
+
+:hasbackslash
+if not exist %2%3 goto cpy2
+fc %1 %2%3 > nul && if not %errorlevel 1 goto exit
+echo overwriting %2%3 with %1
+copy %1 %2%3 > nul
+goto exit
+
+:cpy2
+echo copying %1 to %2%3
+copy %1 %2%3 > nul
+goto exit
+
+:nofile
+echo %1 not found
+
+:exit
+
+
diff --git a/Mkfiles/vc10/vsyasm.vcxproj b/Mkfiles/vc10/vsyasm.vcxproj
index 7decc5bc..0c6e22a2 100644
--- a/Mkfiles/vc10/vsyasm.vcxproj
+++ b/Mkfiles/vc10/vsyasm.vcxproj
@@ -251,9 +251,6 @@
-
-
-
{29fe7874-1256-4ad6-b889-68e399dc9608}
@@ -264,6 +261,9 @@
false
+
+
+