OLD | NEW |
1 @echo off | 1 @echo off |
2 REM Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 2 REM Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
3 REM for details. All rights reserved. Use of this source code is governed by a | 3 REM for details. All rights reserved. Use of this source code is governed by a |
4 REM BSD-style license that can be found in the LICENSE file. | 4 REM BSD-style license that can be found in the LICENSE file. |
5 | 5 |
6 setlocal | 6 setlocal |
7 rem Handle the case where dart-sdk/bin has been symlinked to. | 7 rem Handle the case where dart-sdk/bin has been symlinked to. |
8 set DIR_NAME_WITH_SLASH=%~dp0 | 8 set DIR_NAME_WITH_SLASH=%~dp0 |
9 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% | 9 set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%% |
10 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR | 10 call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR |
(...skipping 29 matching lines...) Expand all Loading... |
40 rem [c:\dart_bleeding\dart-repo.9\dart\out\ReleaseIA32\dart-sdk] | 40 rem [c:\dart_bleeding\dart-repo.9\dart\out\ReleaseIA32\dart-sdk] |
41 rem | 41 rem |
42 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename | 42 rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename |
43 rem surrounded by right angle bracket and left square bracket. Once we get | 43 rem surrounded by right angle bracket and left square bracket. Once we get |
44 rem the filename, which is name of the link, we recursively follow that. | 44 rem the filename, which is name of the link, we recursively follow that. |
45 :follow_links | 45 :follow_links |
46 setlocal | 46 setlocal |
47 for %%i in (%1) do set result=%%~fi | 47 for %%i in (%1) do set result=%%~fi |
48 set current= | 48 set current= |
49 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ | 49 for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^ |
50 ^| %SystemRoot%\System32\find.exe "
> %~n1 ["`) do ( | 50 ^| %SystemRoot%\System32\find.exe "
> %~n1 [" 2^>nul`) do ( |
51 set current=%%i | 51 set current=%%i |
52 ) | 52 ) |
53 if not "%current%"=="" call :follow_links "%current%", result | 53 if not "%current%"=="" call :follow_links "%current%", result |
54 endlocal & set %~2=%result% | 54 endlocal & set %~2=%result% |
55 goto :eof | 55 goto :eof |
56 | 56 |
57 :end | 57 :end |
OLD | NEW |