vlnovková syntaxe mi nefungovala u proměnných přiřazených přes set, zkoušel jsem všechny dvě možnosti co mě napadly.
tvar s %1 takto zpracovat šel. tak jsem použil volání "call :sub", kde se předané parametry oddělené čárkou zas čtou jako %1,%2,...
@echo off
color 70
set file=C:\WINDOWS\system32\command.com
set bytes=51166
call :SUB %file%,%bytes%
goto END
:SUB
echo "%~nx1" ma velikost "%~z1"byte, zadani: "%2"byte
if "%~z1"=="" echo Zadany soubor %1 nebyl nalezen & goto :EOF
if "%~z1"=="%2" goto JO
:NE
echo Soubor ma jinou velikost %~z1 B, nez pozadovanych %2 B
color 40 & goto :EOF
:JO
echo Soubor %1 o velikosti %~z1 B byl nalezen
color 20 & goto :EOF
:END