SHOW:
|
|
- or go back to the newest paste.
| 1 | @echo off | |
| 2 | rem Copies to clipboard paths to the chosen files on the web storage, e.g. | |
| 3 | rem C:\Temp\Img\test.png ---> http://example.com/lib/Img/test.png | |
| 4 | rem Looks for a file named PATH.TXT which contains the base web address | |
| 5 | rem in this folder, then the parent folder, etc. | |
| 6 | rem If you're on <<< Windows Server 2003, you'll need clip.exe. | |
| 7 | ||
| 8 | pushd . | |
| 9 | set SEP= | |
| 10 | set PFILE=path.txt | |
| 11 | set CLIPDATA= | |
| 12 | ||
| 13 | rem Enumerate command line arguments | |
| 14 | :next | |
| 15 | if "%~1"=="" goto end | |
| 16 | echo Adding %1 | |
| 17 | rem This will store relative path to the file | |
| 18 | set RELPATH= | |
| 19 | ||
| 20 | rem Start with the deepest folder | |
| 21 | %~d1 | |
| 22 | cd %~dp1 | |
| 23 | - | if EXIST %~dp1%PFILE% goto found |
| 23 | + | |
| 24 | if EXIST %CD%\%PFILE% goto found | |
| 25 | - | if "%~dp1"=="%~d1\" goto notfound |
| 25 | + | |
| 26 | if "%CD%"=="%~d1\" goto notfound | |
| 27 | ||
| 28 | rem Otherwise, one level up | |
| 29 | for %%I in (%CD%) do set RELPATH=%%~nxI/%RELPATH% | |
| 30 | cd .. | |
| 31 | goto next_level | |
| 32 | ||
| 33 | :notfound | |
| 34 | - | set CLIPDATA=%CLIPDATA%%~nx1%SEP% |
| 34 | + | |
| 35 | if NOT "%CLIPDATA%"=="" set CLIPDATA=%CLIPDATA%%SEP% | |
| 36 | set CLIPDATA=%CLIPDATA%%~nx1 | |
| 37 | goto itemend | |
| 38 | ||
| 39 | - | FOR /F %%f IN (%PFILE%) DO set CLIPDATA=%CLIPDATA%%%f/%RELPATH%%~nx1%SEP% |
| 39 | + | |
| 40 | rem Base + relative path + filename | |
| 41 | if NOT "%CLIPDATA%"=="" set CLIPDATA=%CLIPDATA%%SEP% | |
| 42 | FOR /F %%f IN (%PFILE%) DO set CLIPDATA=%CLIPDATA%%%f/%RELPATH%%~nx1 | |
| 43 | goto itemend | |
| 44 | ||
| 45 | :itemend | |
| 46 | rem Next command line argument | |
| 47 | shift | |
| 48 | goto next | |
| 49 | :end | |
| 50 | - | <nul set /p =%CLIPDATA%| clip |
| 50 | + | |
| 51 | if "%CLIPDATA%"=="" goto skipclip | |
| 52 | rem Cunning way to echo without newline | |
| 53 | echo "%CLIPDATA%" | |
| 54 | 0<nul set /p ="%CLIPDATA%"|clip | |
| 55 | :skipclip | |
| 56 | ||
| 57 | popd |