View difference between Paste ID: 8R0zLYB9 and ve99WEDd
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