upd
A tiny little script that is used to update many but not all of my command line applications. It requires itself and qe.bat to be properly put into a folder set in %PATH% (here in my case is C:\_c\), with where 7-zip is installed is included in %PATH% as well. Similar to qe, it may be subject to frequent revisions.
By default, if no switch is given to the script, it will download (from their official sites of course) and extract the command line applications as follows, and move them—overwrite if necessary, hence, update—to the aforesaid fixed folder set in %PATH%:
- deno;
- exiftool;
- ffmpeg;
- gallery-dl;
- ImageMagick;
- mpv; and
- yt-dlp.
If -d is passed to the script, then it will only update the following three:
- ffmpeg;
- gallery-dl; and
- yt-dlp.
And if -a is passed to the script, then all of the following 19 will be downloaded, extracted, and put into the said folder in %PATH%, which actually served as an initial deployment of this set of applications:
- deno;
- exiftool;
- fart;
- ffmpeg;
- gallery-dl;
- ImageMagick;
- libjxl;
- flac;
- mpv;
- Nero AAC Codec;
- opus-tools;
- optipng;
- pandoc;
- qaac and qtfiles64;
- Resource Hacker;
- rustormy;
- sox;
- libwebp; and
- yt-dlp.
Using -0 with any one or more switches below can specifically update the manually selected application or applications only:
-dn: deno;-e: exiftool;-f: ffmpeg;-g: gallery-dl;-i: ImageMagick;-ft: fart;-j: libjxl;
-l: flac;-m: mpv;-n: Nero AAC Codec;-o: opus-tools;-p: optipng;-pd: pandoc;-q: qaac;
-qf: qtfiles64;-r: Resource Hacker;-rw: rustormy;-s: sox;-w: libwebp; and-y: yt-dlp.
Use double hyphens to explicitly exclude applications from any pre-written update set. For example, upd -a --e will update all but exiftool.
An upd-dry.bat is enclosed below the main batch to serve as a separate 『dry-run』 tool to test if the download links and filenames could be fetched correctly—and if not, revise and test them in the dry-run batch before merging the updated code with the main batch—and it is for this very reason, this separate batch stays separate, although it could be integrated with the main batch. It can be invoked by the main batch via upd -dry, or simply run it separately by itself.
A special note on the choice of ff-f to the script; or, if some non-free codecs are desired, passing -f to the script can further change the build to the nanake’s.
The batches
| These two batches use curl, which has only been shipped natively since Windows 10 1803; for earlier versions of Windows—as early as Windows Vista—you’ll have to download curl and put it into %PATH% first. |
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
set "a="
set "d="
set "t="
set "v="
set "dn=1"
set "e=1"
set "f=1"
set "g=1"
set "ft="
set "i=1"
set "j="
set "l="
set "m=1"
set "n="
set "o="
set "p="
set "pd="
set "q="
set "qf="
set "r="
set "rw="
set "s="
set "w="
set "y=1"
set "el="
set "en="
set "fl="
set "fn="
set "fnl="
set "fnn="
set "fyl="
set "fyn="
set "forig="
set "fnonf="
set "il="
set "in="
set "ll="
set "ln="
set "ml="
set "mn="
set "nl="
set "nn="
set "ol="
set "on="
set "pdl="
set "pdn="
set "pl="
set "pn="
set "ql="
set "qn="
set "rl="
set "rn="
set "sl="
set "sn="
set "wl="
set "wn="
:a
if /i "%~1"=="" goto p
set "a=%~1"
if /i "%a%"=="-dry" cmd /c upd-dry && exit /b 0
if /i "%a%"=="-0" set "dn=" & set "e=" & set "f=" & set "g=" & set "ft=" & set "i=" & set "j=" & set "l=" & set "m=" & set "n=" & set "o=" & set "pd=" & set "p=" & set "q=" & set "qf=" & set "r=" & set "rw=" & set "s=" & set "w=" & set "y="
if /i "%a%"=="-dn" set "dn=1"
if /i "%a%"=="-e" set "e=1"
if /i "%a%"=="-f" set "f=1"
if /i "%a%"=="-g" set "g=1"
if /i "%a%"=="-forig" set "forig=1"
if /i "%a%"=="-fnonf" set "fnonf=1"
if /i "%a%"=="-ft" set "ft=1"
if /i "%a%"=="-i" set "i=1"
if /i "%a%"=="-j" set "j=1"
if /i "%a%"=="-l" set "l=1"
if /i "%a%"=="-m" set "m=1"
if /i "%a%"=="-n" set "n=1"
if /i "%a%"=="-o" set "o=1"
if /i "%a%"=="-pd" set "pd=1"
if /i "%a%"=="-p" set "p=1"
if /i "%a%"=="-q" set "q=1"
if /i "%a%"=="-qf" set "qf=1"
if /i "%a%"=="-r" set "r=1"
if /i "%a%"=="-rw" set "rw=1"
if /i "%a%"=="-s" set "s=1"
if /i "%a%"=="-w" set "w=1"
if /i "%a%"=="-y" set "y=1"
if /i "%a%"=="-d" set "dn=" & set "e=" & set "f=1" & set "g=1" & set "ft=" & set "i=" & set "j=" & set "l=" & set "m=" & set "n=" & set "o=" & set "pd=" & set "p=" & set "q=" & set "qf=" & set "r=" & set "rw=" & set "s=" & set "w=" & set "y=1"
if /i "%a%"=="-a" set "dn=1" & set "e=1" & set "f=1" & set "g=1" & set "ft=1" & set "i=1" & set "j=1" & set "l=1" & set "m=1" & set "n=1" & set "o=1" & set "pd=1" & set "p=1" & set "q=1" & set "qf=1" & set "r=1" & set "rw=1" & set "s=1" & set "w=1" & set "y=1"
if /i "%a%"=="--dn" set "dn="
if /i "%a%"=="--e" set "e="
if /i "%a%"=="--f" set "f="
if /i "%a%"=="--g" set "g="
if /i "%a%"=="--ft" set "ft="
if /i "%a%"=="--i" set "i="
if /i "%a%"=="--j" set "j="
if /i "%a%"=="--l" set "l="
if /i "%a%"=="--m" set "m="
if /i "%a%"=="--n" set "n="
if /i "%a%"=="--o" set "o="
if /i "%a%"=="--pd" set "pd="
if /i "%a%"=="--p" set "p="
if /i "%a%"=="--q" set "q="
if /i "%a%"=="--qf" set "qf="
if /i "%a%"=="--r" set "r="
if /i "%a%"=="--rw" set "rw="
if /i "%a%"=="--s" set "s="
if /i "%a%"=="--w" set "w="
if /i "%a%"=="--y" set "y="
shift
goto a
:p
curl -L "https://exiftool.org/" -o exiftooldownload.htm
fart -C exiftooldownload.htm "<tr><td><b>64-bit:\n" "<tr><td><b>64-bit:"
for /f "tokens=5 delims=>=" %%a in ('findstr /c:"<tr><td><b>64-bit:<a" exiftooldownload.htm') do set "el=%%a"
for /f "tokens=6 delims=/" %%b in ('findstr /c:"<tr><td><b>64-bit:<a" exiftooldownload.htm') do set "en=%%b"
del /q exiftooldownload.htm
curl -L "https://api.github.com/repos/yt-dlp/FFmpeg-Builds/releases/latest" -o ffmpegytdlpgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*-win64-gpl-shared.zip" ffmpegytdlpgithublatestrelease.json') do set "fyl=%%a"
for /f "tokens=2 delims=, " %%a in ('findstr /rc:"name.*-win64-gpl-shared.zip" ffmpegytdlpgithublatestrelease.json') do set "fyn=%%a"
del /q ffmpegytdlpgithublatestrelease.json
curl -L "https://api.github.com/repos/nanake/ffmpeg-tinderbox/releases/latest" -o ffmpegnnkgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*ffmpeg.*shared" ffmpegnnkgithublatestrelease.json') do set "fnl=%%a"
for /f "tokens=9 delims=/." %%a in ('findstr /rc:"browser_download_url.*ffmpeg.*shared" ffmpegnnkgithublatestrelease.json') do set "fnn=%%a.tar.zst"
del /q ffmpegnnkgithublatestrelease.json
curl -L "https://api.github.com/repos/ImageMagick/ImageMagick/releases/latest" -o magickgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*portable-Q16-HDRI-x64" magickgithublatestrelease.json') do set "il=%%a"
for /f "tokens=2 delims=, " %%a in ('findstr /rc:"name.*portable-Q16-HDRI-x64" magickgithublatestrelease.json') do set "in=%%a"
del /q magickgithublatestrelease.json
curl -L "https://ftp.osuosl.org/pub/xiph/releases/flac/" -o flacdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"flac-.*-win.zip" flacdownload.htm') do set "t=%%i"
set "t=%t:*href=%"
for /f "tokens=2 delims=>" %%a in ("%t%") do for /f "tokens=1 delims=<" %%b in ("%%a") do set "ln=%%b" & set "ll=https://ftp.osuosl.org/pub/xiph/releases/flac/%%b"
del /q flacdownload.htm
curl -L "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest" -o mpvgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*mpv-x86_64-v3" mpvgithublatestrelease.json') do set "ml=%%a"
for /f "tokens=9 delims=/." %%a in ('findstr /rc:"browser_download_url.*mpv-x86_64-v3" mpvgithublatestrelease.json') do set "mn=%%a.7z"
del /q mpvgithublatestrelease.json
curl -L "https://www.rarewares.org/rrw/neroaac.php" -o naacdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"NeroAACCodec-.*.zip" naacdownload.htm') do set "t=%%i" & goto nn
:nn
for /f "tokens=2 delims=>" %%a in ("%t%") do for /f "tokens=1 delims=<" %%b in ("%%a") do set "nn=%%b" & set "nl=https://www.rarewares.org/rrw/files/aac/nero/%%b"
del /q naacdownload.htm
curl -L "https://rarewares.org/opus.php" -o opusdownload.htm
for /f "delims=" %%a in ('findstr /r /c:"opus-tools.*x64.zip" opusdownload.htm') do for /f "tokens=3 delims=>=" %%b in ("%%a") do set "ol=%%b"
for %%c in (%ol%) do set "on=%%~nxc"
set "on=!on:(=%%28!"
set "on=!on:)=%%29!"
set "on=!on: =%%20!"
set "ol=!ol:(=%%28!"
set "ol=!ol:)=%%29!"
set "ol=!ol: =%%20!"
del /q opusdownload.htm
curl -L "https://optipng.sourceforge.net/" -o optipngdownload.htm
for /f "tokens=2 delims=-" %%a in ('findstr /rc:"sourceforge.*optipng.*win64" optipngdownload.htm') do set "v=%%a"
set "pl=http://prdownloads.sourceforge.net/optipng/optipng-%v%-win64.zip?download"
set "pn=optipng-%v%-win64.zip"
del /q optipngdownload.htm
curl -L "https://api.github.com/repos/jgm/pandoc/releases/latest" -o pandocgithublatestrelease.json
for /f "tokens=2 delims=-" %%a in ('findstr /rc:"name.*pandoc.*windows.*zip" pandocgithublatestrelease.json') do set "v=%%a"
set "pdl=https://github.com/jgm/pandoc/releases/latest/download/pandoc-%v%-windows-x86_64.zip"
set "pdn=pandoc-%v%-windows-x86_64.zip"
del /q pandocgithublatestrelease.json
curl -L "https://api.github.com/repos/nu774/qaac/releases/latest" -o qaacgithublatestrelease.json
for /f "tokens=2,3 delims=_." %%a in ('findstr /rc:"name.*qaac" qaacgithublatestrelease.json') do set "v=%%a.%%b"
set "ql=https://github.com/nu774/qaac/releases/download/v%v%/qaac_%v%.zip"
set "qn=qaac_%v%.zip"
del /q qaacgithublatestrelease.json
curl -L "https://api.github.com/repos/Tairesh/rustormy/releases/latest" -o rustormygithublatestrelease.json
for /f "tokens=2 delims=-" %%a in ('findstr /rc:"name.*Windows" rustormygithublatestrelease.json') do set "v=%%a"
set "rl=https://github.com/Tairesh/rustormy/releases/latest/download/rustormy-%v%-Windows.zip"
set "rn=rustormy-%v%-Windows.zip"
del /q rustormygithublatestrelease.json
curl -L "https://rarewares.org/others.php" -o soxdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"[Ss]o[Xx]-.*-x64.zip" soxdownload.htm') do set "t=%%i"
for /f "tokens=2 delims==" %%a in ("%t%") do for /f "tokens=1 delims=>" %%b in ("%%a") do set "sn=%%~nxb" & set "sl=%%b"
del /q soxdownload.htm
curl -L "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html" -o libwebpdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"libwebp-.*-windows-x64.zip" libwebpdownload.htm') do set "t=%%i"
set "t=%t:.asc=%"
for /f "tokens=2 delims=><" %%a in ("%t%") do for /f "tokens=1 delims=/" %%b in ("%%a") do set "wn=%%b" & set "wl=https://storage.googleapis.com/downloads.webmproject.org/releases/webp/%%b"
del /q libwebpdownload.htm
if /i "%dn%"=="1" (
curl -L "https://github.com/denoland/deno/releases/latest/download/deno-x86_64-pc-windows-msvc.zip" -O --output-dir .
cmd /c qe "deno-x86_64-pc-windows-msvc.zip"
)
if /i "%e%"=="1" (
curl -L %el% -o "%en%"
cmd /c qe "%en%"
)
set "fl=%fyl:~1,-1%"
set "fn=%fyn:~1,-1%"
if /i "%fnonf%"=="1" (
set "fl=%fnl:~1,-1%"
set "fn=%fnn%"
)
if /i "%forig%"=="1" (
set "fl=https://github.com/BtbN/FFmpeg-Builds/releases/latest/download/ffmpeg-master-latest-win64-gpl-shared.zip"
set "fn=ffmpeg-master-latest-win64-gpl-shared.zip"
)
if /i "%f%"=="1" (
curl -L "%fl%" -O --output-dir .
if /i "%fnonf%"=="1" (
if not defined forig (
7z e -y "%fn%"
for %%i in ("%fn%") do cmd /c qe "%%~ni"
del /q "%fn%"
) else (
cmd /c qe "%fn%"
)
) else (
cmd /c qe "%fn%"
)
)
if /i "%ft%"=="1" (
curl -L "https://github.com/lionello/fart-it/releases/latest/download/fart-windows.zip" -O --output-dir .
cmd /c qe "fart-windows.zip"
)
if /i "%i%"=="1" (
curl -L %il% -O --output-dir .
cmd /c qe %in%
)
if /i "%j%"=="1" (
curl -L "https://artifacts.lucaversari.it/libjxl/libjxl/latest/jxl-x64-windows-static.zip" -O --output-dir .
cmd /c qe "jxl-x64-windows-static.zip"
)
if /i "%l%"=="1" (
curl -L "%ll%" -O --output-dir .
cmd /c qe "%ln%"
)
if /i "%m%"=="1" (
curl -L %ml% -O --output-dir .
cmd /c qe "%mn%"
)
if /i "%n%"=="1" (
curl -L "%nl%" -O --output-dir .
cmd /c qe "%nn%"
)
if /i "%o%"=="1" (
curl -L %ol% -O --output-dir .
cmd /c qe "%on%"
)
if /i "%pd%"=="1" (
curl -L "%pdl%" -o "%pdn%"
cmd /c qe "%pdn%"
)
if /i "%p%"=="1" (
curl -L "%pl%" -o "%pn%"
cmd /c qe "%pn%"
)
if /i "%q%"=="1" (
curl -L "%ql%" -O --output-dir .
cmd /c qe "%qn%"
)
if /i "%qf%"=="1" (
curl -L "https://github.com/AnimMouse/QTFiles/releases/latest/download/QTfiles64.7z" -O --output-dir .
cmd /c qe "QTFiles.7z"
)
if /i "%r%"=="1" (
curl -L "https://angusj.com/resourcehacker/resource_hacker.zip" -O --output-dir .
cmd /c qe "resource_hacker.zip"
)
if /i "%rw%"=="1" (
curl -L "%rl%" -O --output-dir .
cmd /c qe "%rn%"
)
if /i "%s%"=="1" (
curl -L %sl% -O --output-dir .
cmd /c qe "%sn%"
)
if /i "%w%"=="1" (
curl -L "%wl%" -O --output-dir .
cmd /c qe "%wn%"
)
if /i "%g%"=="1" (
curl -L "https://github.com/gdl-org/builds/releases/latest/download/gallery-dl_windows.exe" -o "C:\_c\gdl.exe"
if exist C:\_c\_gdl (
if not exist "%AppData%\gallery-dl" (
md "%AppData%\gallery-dl"
)
move /y C:\_c\_gdl\* "%AppData%\gallery-dl\"
rd /q C:\_c\_gdl
)
)
if /i "%y%"=="1" (
curl -L "https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/latest/download/yt-dlp.exe" -O --output-dir C:\_c
if exist C:\_c\_ytdlp (
if not exist "%AppData%\yt-dlp" (
md "%AppData%\yt-dlp"
)
move /y C:\_c\_ytdlp\* "%AppData%\yt-dlp\"
rd /q C:\_c\_ytdlp
)
)
endlocal
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
set "t="
set "v="
set "el="
set "en="
set "fnl="
set "fnn="
set "fyl="
set "fyn="
set "il="
set "in="
set "ll="
set "ln="
set "ml="
set "mn="
set "nl="
set "nn="
set "ol="
set "on="
set "pdl="
set "pdn="
set "pl="
set "pn="
set "ql="
set "qn="
set "rl="
set "rn="
set "sl="
set "sn="
set "wl="
set "wn="
curl -L "https://exiftool.org/" -o exiftooldownload.htm
fart -C exiftooldownload.htm "<tr><td><b>64-bit:\n" "<tr><td><b>64-bit:"
for /f "tokens=5 delims=>=" %%a in ('findstr /c:"<tr><td><b>64-bit:<a" exiftooldownload.htm') do set "el=%%a"
for /f "tokens=6 delims=/" %%b in ('findstr /c:"<tr><td><b>64-bit:<a" exiftooldownload.htm') do set "en=%%b"
del /q exiftooldownload.htm
curl -L "https://api.github.com/repos/yt-dlp/FFmpeg-Builds/releases/latest" -o ffmpegytdlpgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*-win64-gpl-shared.zip" ffmpegytdlpgithublatestrelease.json') do set "fyl=%%a"
for /f "tokens=2 delims=, " %%a in ('findstr /rc:"name.*-win64-gpl-shared.zip" ffmpegytdlpgithublatestrelease.json') do set "fyn=%%a"
del /q ffmpegytdlpgithublatestrelease.json
curl -L "https://api.github.com/repos/nanake/ffmpeg-tinderbox/releases/latest" -o ffmpegnnkgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*ffmpeg.*shared" ffmpegnnkgithublatestrelease.json') do set "fnl=%%a"
for /f "tokens=9 delims=/." %%a in ('findstr /rc:"browser_download_url.*ffmpeg.*shared" ffmpegnnkgithublatestrelease.json') do set "fnn=%%a.tar.zst"
del /q ffmpegnnkgithublatestrelease.json
curl -L "https://api.github.com/repos/ImageMagick/ImageMagick/releases/latest" -o magickgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*portable-Q16-HDRI-x64" magickgithublatestrelease.json') do set "il=%%a"
for /f "tokens=2 delims=, " %%a in ('findstr /rc:"name.*portable-Q16-HDRI-x64" magickgithublatestrelease.json') do set "in=%%a"
del /q magickgithublatestrelease.json
curl -L "https://ftp.osuosl.org/pub/xiph/releases/flac/" -o flacdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"flac-.*-win.zip" flacdownload.htm') do set "t=%%i"
set "t=%t:*href=%"
for /f "tokens=2 delims=>" %%a in ("%t%") do for /f "tokens=1 delims=<" %%b in ("%%a") do set "ln=%%b" & set "ll=https://ftp.osuosl.org/pub/xiph/releases/flac/%%b"
del /q flacdownload.htm
curl -L "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest" -o mpvgithublatestrelease.json
for /f "tokens=2 delims= " %%a in ('findstr /rc:"browser_download_url.*mpv-x86_64-v3" mpvgithublatestrelease.json') do set "ml=%%a"
for /f "tokens=9 delims=/." %%a in ('findstr /rc:"browser_download_url.*mpv-x86_64-v3" mpvgithublatestrelease.json') do set "mn=%%a.7z"
del /q mpvgithublatestrelease.json
curl -L "https://www.rarewares.org/rrw/neroaac.php" -o naacdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"NeroAACCodec-.*.zip" naacdownload.htm') do set "t=%%i" & goto nn
:nn
for /f "tokens=2 delims=>" %%a in ("%t%") do for /f "tokens=1 delims=<" %%b in ("%%a") do set "nn=%%b" & set "nl=https://www.rarewares.org/rrw/files/aac/nero/%%b"
del /q naacdownload.htm
curl -L "https://rarewares.org/opus.php" -o opusdownload.htm
for /f "delims=" %%a in ('findstr /r /c:"opus-tools.*x64.zip" opusdownload.htm') do for /f "tokens=3 delims=>=" %%b in ("%%a") do set "ol=%%b"
for %%c in (%ol%) do set "on=%%~nxc"
set "on=!on:(=%%28!"
set "on=!on:)=%%29!"
set "on=!on: =%%20!"
set "ol=!ol:(=%%28!"
set "ol=!ol:)=%%29!"
set "ol=!ol: =%%20!"
del /q opusdownload.htm
curl -L "https://optipng.sourceforge.net/" -o optipngdownload.htm
for /f "tokens=2 delims=-" %%a in ('findstr /rc:"sourceforge.*optipng.*win64" optipngdownload.htm') do set "v=%%a"
set "pl=http://prdownloads.sourceforge.net/optipng/optipng-%v%-win64.zip?download"
set "pn=optipng-%v%-win64.zip"
del /q optipngdownload.htm
curl -L "https://api.github.com/repos/jgm/pandoc/releases/latest" -o pandocgithublatestrelease.json
for /f "tokens=2 delims=-" %%a in ('findstr /rc:"name.*pandoc.*windows.*zip" pandocgithublatestrelease.json') do set "v=%%a"
set "pdl=https://github.com/jgm/pandoc/releases/latest/download/pandoc-%v%-windows-x86_64.zip"
set "pdn=pandoc-%v%-windows-x86_64.zip"
del /q pandocgithublatestrelease.json
curl -L "https://api.github.com/repos/nu774/qaac/releases/latest" -o qaacgithublatestrelease.json
for /f "tokens=2,3 delims=_." %%a in ('findstr /rc:"name.*qaac" qaacgithublatestrelease.json') do set "v=%%a.%%b"
set "ql=https://github.com/nu774/qaac/releases/download/v%v%/qaac_%v%.zip"
set "qn=qaac_%v%.zip"
del /q qaacgithublatestrelease.json
curl -L "https://api.github.com/repos/Tairesh/rustormy/releases/latest" -o rustormygithublatestrelease.json
for /f "tokens=2 delims=-" %%a in ('findstr /rc:"name.*Windows" rustormygithublatestrelease.json') do set "v=%%a"
set "rl=https://github.com/Tairesh/rustormy/releases/latest/download/rustormy-%v%-Windows.zip"
set "rn=rustormy-%v%-Windows.zip"
del /q rustormygithublatestrelease.json
curl -L "https://rarewares.org/others.php" -o soxdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"[Ss]o[Xx]-.*-x64.zip" soxdownload.htm') do set "t=%%i"
for /f "tokens=2 delims==" %%a in ("%t%") do for /f "tokens=1 delims=>" %%b in ("%%a") do set "sn=%%~nxb" & set "sl=%%b"
del /q soxdownload.htm
curl -L "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html" -o libwebpdownload.htm
for /f "delims=" %%i in ('findstr /r /c:"libwebp-.*-windows-x64.zip" libwebpdownload.htm') do set "t=%%i"
set "t=%t:.asc=%"
for /f "tokens=2 delims=><" %%a in ("%t%") do for /f "tokens=1 delims=/" %%b in ("%%a") do set "wn=%%b" & set "wl=https://storage.googleapis.com/downloads.webmproject.org/releases/webp/%%b"
del /q libwebpdownload.htm
echo.
echo ^= UPD DRY-RUN RESULTS^=
echo.
echo ^=^=exiftool^=^=
echo el is: %el%
echo en is: "%en%"
echo.
echo ^=^=ffmpeg-ytdlp^=^=
echo fyl is: %fyl%
echo fyn is: %fyn%
echo.
echo ^=^=ffmpeg-tinderbox^=^=
echo fnl is: %fnl%
echo fnn is: "%fnn%"
echo.
echo ^=^=magick^=^=
echo il is: %il%
echo in is: %in%
echo.
echo ^=^=flac^=^=
echo ll is: "%ll%"
echo ln is: "%ln%"
echo.
echo ^=^=mpv^=^=
echo ml is: %ml%
echo mn is: "%mn%"
echo.
echo ^=^=NeroAAC^=^=
echo nl is: "%nl%"
echo nn is: "%nn%"
echo.
echo ^=^=opus^=^=
echo ol is: %ol%
echo on is: "%on%"
echo.
echo ^=^=optipng^=^=
echo pl is: "%pl%"
echo pn is: "%pn%"
echo.
echo ^=^=pandoc^=^=
echo pdl is: "%pdl%"
echo pdn is: "%pdn%"
echo.
echo ^=^=qaac^=^=
echo ql is: "%ql%"
echo qn is: "%qn%"
echo.
echo ^=^=rustormy^=^=
echo rl is: "%rl%"
echo rn is: "%rn%"
echo.
echo ^=^=sox^=^=
echo sl is: %sl%
echo sn is: "%sn%"
echo.
echo ^=^=webp^=^=
echo wl is: "%wl%"
echo wn is: "%wn%"
endlocal