展開時の-o*の逆のことをするものは無いので
"C:\Program Files\7-Zip\7z.exe" a "D:\%~n1.7z" "%~1"
と書いたbatファイル呼べばいいんでね?