His vow came as Ukraine said it retook villages in Luhansk and Kherson.
However, Kremlin spokesman Dmitry Peskov said Russia would retake any territory that had been lost.
And President Zelensky later said Ukraine had liberated three more villages in the southern region of Kherson.
But Mr Putin has rowed back on which groups will be affected, after strong opposition and protests in Russia against the move.
Meanwhile, President Putin has signed a decree to formalise Russia's seizure of the Zaporizhzhia nuclear power plant in southern Ukraine, which has been occupied by Russian troops since the early days of the war.
He is heading to Kyiv and then Moscow, seeking to establish a protection zone around the plant, which is situated near the front line of fighting.
Russia warns US of military clash risk over Ukraine.