Вместо этого попробуйте запустить:
FOR / R "D: \ cnosftp \"% I IN (* .gz) DO повторяет "C: \ Program Files \ 7-Zip \ 7z.exe" x "% I" -aoa -o "% ~ dpI"
Убедитесь, что результат соответствует вашим ожиданиям.
Подсказка: вероятно, не будет. Замените% на %% по мере необходимости. (Если два% не работают, попробуйте три или четыре, но я думаю, что двух может быть достаточно.)
Вероятная проблема заключается в том, что команде FOR может потребоваться дополнительный% при запуске из пакетного файла. Использование команды echo для вывода того, какую команду вы фактически будете выполнять, часто помогает определить, какие переменные расширяются так, как вы хотите / нуждаетесь в них, и какие переменные требуют добавления% s.