@ECHO OFF SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION ::Strings SET OS=WinXP SET SP=SP1 SET SRCPATH=%~d0\BuildCD SET DESTPATH=%~dp0\HF CALL :CHECKHFS %OS% %SP% GOTO EOF :CHECKHFS :: always (both SP1 and SP2) :: KB887742 KB886185 are for SP2 only. To do: skip them if SP1 build. Or put them in different folder SET BASEPATH=%SRCPATH%\%1\_postSP2\WU\Software\en\com_microsoft.windowsxp\x86WinXP FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :_MSI31 SET BASEPATH=%SRCPATH%\%1\_MSI31\WU\Software\en\com_microsoft.windowsxp\x86WinXP FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :: only SP1 build ::To do: if "!SP!"=="SP2" skip SET BASEPATH=%SRCPATH%\%1\_postSP1\WU\Software\en\com_microsoft.windowsxp\x86WinXP FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :_DX ::Initial build SET BASEPATH=%SRCPATH%\%1\_DXSP1_IB\WU\Software\en\com_microsoft.windowsxp\x86WinXP ::DX9 ::SET BASEPATH=%SRCPATH%\%1\_DX9\WU\Software\en\com_microsoft.windowsxp\x86WinXP FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :_IE6 SET BASEPATH=%SRCPATH%\%1\_IE6%2\WU\Software\en\com_microsoft.internetexplorer6x\x86WinXP FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :_JS56 ::To do: if "!SP!"=="SP2" skip SET BASEPATH=%SRCPATH%\%1\_JS56\WU\Software\en\com_microsoft.windowsxp\x86WinXP ::SET BASEPATH= FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :_MSGS SET BASEPATH=%SRCPATH%\%1\_MSGS%2\WU\Software\en\com_microsoft.windowsxp\x86WinXP FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) :_WMP8 ::if "!SP!"=="SP2" skip SET BASEPATH=%SRCPATH%\%1\_WMP8\WU\Software\en\com_microsoft.windowsxp\x86WinXP ::SET BASEPATH= FOR /F "USEBACKQ DELIMS==" %%H IN (`DIR /AD /OGN /B %BASEPATH%\*`) DO ((SET DIRNAME=%%~nxH)&(CALL :NEXTONE)) GOTO EOF :NEXTONE FOR /F "USEBACKQ DELIMS==" %%I IN (`DIR /A-D /OGN /B %BASEPATH%\%DIRNAME%\*.EXE`) DO ((SET FILENAME=%%~nI)&(CALL :EXTRACT)) GOTO EOF :EXTRACT START "SymLink" /WAIT /MIN ln "%BASEPATH%\%DIRNAME%\%FILENAME%.EXE" "%DESTPATH%\%FILENAME%.EXE" ECHO.SymLink for %FILENAME% created in %DESTPATH% GOTO EOF :EOF :: Creates SymLinks in HFSLIP\HF folder pointing on the selected HF items. :: Symbolic links are only supported on Windows 2000/XP/2003 on local NTFS-5 file systems. :: put this batch to HFSLIP folder. HFs folders and HFSLIP folder are on the same partition. :: ln.exe command line hardlinks http://www.schinagl.priv.at/