Très simple, voilà la ligne de commande :
for i in *7z ; do tmpdir=$( basename ${i} .7z ) ; mkdir ${tmpdir} && pushd ${tmpdir} ; if 7z x ../${i} ; then if zip -r ../${tmpdir}.zip * .[^.]* ; then popd ; rm ${i} ; else popd ; echo Packing ${tmpdir}.zip failed! ; fi ; else echo Unpacking ${i} failed! ; fi ; rm -rf ${tmpdir} ; done
Tu copies/colles ca dans un terminal en étant dans le dossier dans lequel se trouve tes 7z. Soluce trouvée ici :
http://www.linuxquestions.org/questions/linux-newbie-8/convert-a-batch-of-7z-files-to-zip-729198/