¿Cómo comprimo archivos de diferentes carpetas, con cada archivo en su propia carpeta?

¿Cómo comprimo archivos de diferentes carpetas, con cada archivo en su propia carpeta?

Me gustaría comprimir todos los archivos html en todos los directorios que se encuentran en un directorio, mientras elimina los archivos sin comprimir.

for /r %%i in (*.html) do "c:\7-zip\7z.exe" a -aoa -mx=9 -tgzip -sdel "%%~ni.gz" "%%i"

Esta línea de comando funciona parcialmente, pero no comprime cada archivo html en su directorio, sino que lo comprime todo en el directorio principal.

si hago esto

for /r %%i in (*.html) do "c:\7-zip\7z.exe" a -aoa -mx=9 -tgzip -sdel "%%i.gz" "%%i"

comprime cada archivo en su directorio pero mantiene .html

tengo la solución

for /r %%i in (*.html) do "c:\7-zip\7z.exe" a -aoa -mx=9 -tgzip -sdel "%%~pni.gz" "%%i"

información relacionada