35 lines
777 B
Batchfile
35 lines
777 B
Batchfile
|
@echo off
|
||
|
|
||
|
@rem This script run the user specified command with a path
|
||
|
@rem normalized to 8.3 representation and with all invalid path
|
||
|
@rem components removed. This reduces the chance of the 16-bit
|
||
|
@rem tools reporting an out of memory error. If the path is too long
|
||
|
@rem the apps will still fail.
|
||
|
@rem
|
||
|
@rem The existence of this script is depressing, but no one
|
||
|
@rem maintains 16-bit build tools and you need them to build an OS.
|
||
|
|
||
|
setlocal
|
||
|
|
||
|
|
||
|
set newPath=
|
||
|
|
||
|
set components="%Path:;=" "%"
|
||
|
for %%c in (%components%) do (
|
||
|
if not %c=="" (
|
||
|
call :GrowNewPath %%c
|
||
|
)
|
||
|
)
|
||
|
set Path=%newPath:~1%
|
||
|
|
||
|
call %*
|
||
|
goto :EOF
|
||
|
|
||
|
:GrowNewPath
|
||
|
if not exist %1 (
|
||
|
@rem echo %1 =^> BAD
|
||
|
exit /b 0
|
||
|
)
|
||
|
@rem echo %1 =^> %~fs1
|
||
|
set newPath=%newPath%;%~s1%
|