@echo off\r
setlocal\r
\r
+rem usage: clean-build {scan-only}\r
+rem no args - remove build specific folders & files:\r
+rem *_win7_* *_wxp_* *_wnet_* *_wlh_*\r
+rem arg1 != "" - then report matched folders & files - no delete.\r
+\r
+set T=%TEMP%\flist.txt\r
+\r
rem delete OS flavor {wlh,wxp,wnet} specific build files to ensure a clean build\r
\r
-for /f %%f in ( 'dir /b /s *_wxp_*' ) do (\r
- del /F /S /Q %%f >jnk.log\r
-)\r
-for /f %%f in ( 'dir /b /s *_wxp_*' ) do (\r
- rmdir /S /Q %%f >jnk.log\r
-)\r
+rem The story behind the for loop need for the fake 'delims=,' is the need to\r
+rem override the default delimiters of <space> & <tab>, anything but <space>\r
+rem or <tab>. Problems occur with a folder name like\r
+rem 'c:\svn\trunk\ulp\ipoib - copy(2)\objfre_wlh_x86' as the default delimiters\r
+rem in for loop file read return 'c:\svn\trunk\ulp\ipoib', bad juju.\r
\r
-for /f %%f in ( 'dir /b /s *_wnet_*' ) do (\r
- del /F /S /Q %%f >jnk.log\r
-)\r
-for /f %%f in ( 'dir /b /s *_wnet_*' ) do (\r
- rmdir /S /Q %%f >jnk.log\r
-)\r
+rem check/remove directories\r
\r
-for /f %%f in ( 'dir /b /s *_wlh_*' ) do (\r
- del /F /S /Q %%f >jnk.log\r
+for %%d in ( _win7_ _wlh_ _wnet_ _wxp_ ) do (\r
+ echo Folder Scan for *%%d*\r
+ dir /B /S /A:D *%%d* > %T% 2>&1\r
+ if ERRORLEVEL 1 (\r
+ del /Q/F %T%\r
+ ) else (\r
+ for /f "delims=," %%f in ( %T% ) do (\r
+ if EXIST "%%f" (\r
+ if "%1" == "" (\r
+ rmdir /S /Q "%%f" 1>nul\r
+ ) else (\r
+ echo found "%%f"\r
+ )\r
+ )\r
+ )\r
+ del /Q/F %T%\r
+ )\r
)\r
\r
-for /f %%f in ( 'dir /b /s *_wlh_*' ) do (\r
- rmdir /S /Q %%f >jnk.log\r
-)\r
+rem check/remove files\r
\r
-if exist jnk.log del /Q jnk.log\r
+for %%d in ( _win7_ _wlh_ _wxp_ _wnet_ ) do (\r
+ echo File Scan for *%%d*\r
+ dir /B /S *%%d* > %T% 2>&1\r
+ if ERRORLEVEL 1 (\r
+ del /Q/F %T%\r
+ ) else (\r
+ for /f "delims=," %%f in ( %T% ) do (\r
+ if EXIST "%%f" (\r
+ if "%1" == "" (\r
+ del /F /Q "%%f" 1>nul\r
+ ) else (\r
+ echo found %%f\r
+ )\r
+ )\r
+ )\r
+ del /Q/F %T%\r
+ )\r
+)\r
endlocal\r
+\r