Waves of migrants seeking to enter the EU from the south-east have been shunted from one border to another as governments disagree over the crisis.
Croatia reversed its open-door policy after 17,000 arrivals since Wednesday. It is now sending thousands of migrants north, angering Slovenia and Hungary.
Hungary, which is putting a fence on its border with Croatia, is reportedly sending new arrivals on to Austria.
Two EU crisis meetings will take place next week.
Many of the migrants are fleeing conflicts in Syria, Iraq and Afghanistan.
Thousands began entering Croatia from Serbia this week after Hungary closed its Serbian border, and cut off the previous route north.
Croatia had initially said the migrants would be welcome, but on Friday it said it was overwhelmed and would not become a “migrant hotspot”.
Interior Minister Ranko Ostojic said that more than 17,000 migrants had arrived since Wednesday morning and that 3,000 had now crossed into Hungary.
Hungary reversed its stance from earlier in the week and let the new arrivals in.
One train carrying up to 1,000 migrants to Hungary was seized by authorities there and the driver arrested, the head of Hungary’s disaster unit said, according to Reuters. Some 40 Croatian police were disarmed, the report said. Croatia later denied this and said the officers had returned to Croatia.
Hungary is now taking the migrants to two registration centres, close to the border with Austria.
Austria said it had no co-ordination with Hungary to take the migrants. It reserved the right to deny entry to migrants who did not request asylum because they wanted to continue travelling north to Germany or elsewhere.
Separately, hundreds of migrants set off for Slovenia, to the west. The BBC’s Christian Fraser, at the Slovenia-Croatia border, said the number of migrants arriving was building on Friday evening.
Slovenian police pepper sprayed about 500 migrants at one bridge on the border, Associated Press reported. BBC