Díky, ale tahle kombinace mi nefunguje. Používám GNU sed v 4.0.7
Po úpravě na
sed -ir "s/(.*)/\U\1/g" $fname
vyběhne chybová hláška: sed: -e expression #1, char 13: Invalid reference \1 on `s' command's RHS, proto jsem přidal zpětná lomítka. Po úpravě na
sed -ir "s/\(.*\)/\U\1/g" $fname
chyba: sed: can't read $fname: No such file or directory. Nejspíš pracuje jen se souboryTeď na výstup koukám... s více soubory to přes SendTo nejde, batka vezme jen první.
Přes registry (vyvolání batky) vezme všechny, jen vyběhne na moment spousta oken, což by nevadilo.
Našel jsem možnost na změnu velikosti, jen je to trochu krkolomné

cnc.bat
set fname=%~n1
@echo off & setlocal enableextensions
call :ToUpcase "%fname%" fname
sed -i "s/PGM .*[ˆ ]MM/PGM %fname% MM/g" %1
endlocal & goto :EOF
:ToUpcase
setlocal enableextensions
set var_=%1
set var_=%var_:a=A%
set var_=%var_:b=B%
set var_=%var_:c=C%
set var_=%var_:d=D%
set var_=%var_:e=E%
set var_=%var_:f=F%
set var_=%var_:g=G%
set var_=%var_:h=H%
set var_=%var_:i=I%
set var_=%var_:j=J%
set var_=%var_:k=K%
set var_=%var_:l=L%
set var_=%var_:m=M%
set var_=%var_:n=N%
set var_=%var_:o=O%
set var_=%var_:p=P%
set var_=%var_:q=Q%
set var_=%var_:r=R%
set var_=%var_:s=S%
set var_=%var_:t=T%
set var_=%var_:u=U%
set var_=%var_:v=V%
set var_=%var_:w=W%
set var_=%var_:x=X%
set var_=%var_:y=Y%
set var_=%var_:z=Z%
endlocal & set %2=%var_%& goto :EOF
Ještě to musím otestovat s více kombinacemi názvů